Copyright: (c) 1996 Sabasoft. All Rights Reserved.


Contents
XFERPRO 32 Version 2.0

Information Transfer Professional 32

Transfer Any Information Format, such as Video, Audio, Application Data or Image, via Internet Electronic Mail or Internet Connected Networks & On-Line Services

For Microsoft Windows 95™ or Windows NT™

XFERPRO Copyright © 1994-1997 by Sabasoft, Inc.

All Rights Reserved.

Table of Contents

Introduction

When to Use XFERPRO

Interoperability Using Standards

How does XFERPRO Work?

MIME Base64 Encoding and Decoding

UU Encoding and Decoding

XX Encoding and Decoding

Binhex 4.0 Encoding and Decoding

Shareware Concept

Association of Shareware Professionals Ombudsman

Documentation Conventions

Version Information

Version 2.0

Installation

Installing and Running on Various Drive Types

New Installation

Upgrading from Any Previous Version

Un-installing

File Type Association

Program Operation

Anatomy of the Main Window

Interactive Mode

Menu Operation

Drag-and-Drop Operation

Drag-and-Drop With Automatic Decode Detection Enabled

Quiet Mode

Command Line Operation

Command Line Arguments

-C Option (Encode to Clipboard)

-E Option (Encode Files on Command Line)

-J Option (Decode Multiple Files as 1)

-M Option (Encode to E-mail Recipients)

-N Option (Quiet Mode)

-O Option (Specify output file name)

Command Line File Name Specification

Operation Based on Input File Name

Shell Extensions

Encoding Shell Extensions

Decoding Shell Extensions

Procedures

Encoding

Encoding to a File

Encoding to the Clipboard

Encoding to E-mail Recipients

Decoding

Decoding from a File

Decoding from the Clipboard

Decoding from E-mail Recipients

Examples

Example of Sending a Binary File

Example of Receiving a Binary File

Commands

File Menu

Encode to File

Encode to Clipboard

Encode to E-mail

Decode from File

Decode from Clipboard

Decode from E-mail

Exit Menu Item

Configuration

General Configuration

Overwrite Existing Files without Asking

Use Default File Names

Become ICON When En/Decoding

Stay ICON When En/Decoding

No Status Messages

Make File Associations

Encoding Configuration

Encode File Format

Encode Method

End of Line String

Max Encoded File Size

Generate Checksums on Encoded Output

Encoding Output Directory

Decoding Configuration

Automatic Detection of Decode File Format

Decode File Format

Decode Method

Decode Multiple Input Files as 1

Test Checksum Data if Present

Decoding Output Directory

Check Version

Help Menu

Index Menu Item

Commands Menu Item

Procedures Menu Item

Keyboard Menu Item

Using help Menu Item

About Menu Item

Technical Support Menu Item

Can’t Encode Menu Item

Can’t Decode Menu Item

Type-in ORDER FORM Menu Item

Hand-written ORDER FORM Menu Item

Register Menu Item

ASP Ombudsman Menu Item

Keyboard

System Requirements and Resource Usage

CPU Instruction Set

Windows Operating Systems and Modes

Disk Usage

Memory Usage

General Operating Information

DOS and UNIX End Of Line (EOL) Characters

Temporary File Usage

Multiple Instances and File Sharing

File Permissions

Encoding Character for Binary Zero

Multiple Enclosures

Multiple Part File Limitations

Binhex Additional Implementation Information

Macintosh File Forks

Transferring Files between a PC and a Macintosh

CRC-16

Macintosh File Creator and File Type

Run Length Encoding

File Name Conformance

MAPI E-mail Interface

File Formats

File Format Support Summary

Single File Format (UU or XX Encoding)

Single File Format (MIME Encoding)

Single File Format (Binhex 4.0 Encoding)

SimTel File Format

Comp.binaries Usenet Newsgroup File Format

Alt.binaries Usenet Newsgroup File Format 1

Alt.binaries Usenet Newsgroup File Format 2

Alt.binaries Usenet Newsgroup File Format 3

Alt.binaries Usenet Newsgroup File Format 4

UNIX Shell Archive File Format

DOS uuencode/uudecode R.E.M. v5.24 File Format

X-File File Format

UUXFER version 2.0 File Format

WINCODE version 2.3 File Format

POST version 1.2.0 File Format

POST version 2.0.1 File Format

xmitBin File Format

BITFTP Archive File Format

Squirrel 3.0 File Format

America On-Line File Format

If You Encounter Problems

Common Causes of Decoding Failures

Cannot Find ...?

Missing Parts for Multiple Part Files

The Decoded File is Still “Garbled” (Encoded) After Decoding Once

Unable to Determine File Format

Invalid UU/XX/MIME/Binhex Encoded Data

Checksum Error Details

The Decoded File Doesn't Work in My Application when I Forced Decoding

What if the Output File Seems Corrupt

How Do I Manually Decode Files?

What Does Encoded Data Look Like?

Common Causes of Encoding Failures

Can’t Read From or Can’t Write To

Encoded Files Never Leave the Outbox

Encoded Files via Command Line Never Sent

General Troubleshooting Tips

Technical Support

Contacting Sabasoft

LICENSE AGREEMENT

ORDER FORM

PAYMENT TERMS

Introduction

Shareware Concept

Documentation Conventions

Version Information

Installation

Program Operation

Procedures

Commands

Keyboard

System Requirements and Resource Usage

General Operating Information

File Formats

If You Encounter Problems

Technical Support

Contacting Sabasoft

LICENSE AGREEMENT

ORDER FORM

PAYMENT TERMS


Introduction

When to Use XFERPRO

Interoperability Using Standards

How does XFERPRO Work?


When to Use XFERPRO

Whenever you need to binary data or files via internet-based electronic mail (e-mail) or Usenet news groups (the "Bulletin Board System (BBS) of the Internet"), then XFERPRO provides you a solution.

What constitutes binary data or files? Basically anything but simple text. This includes, but is not limited to, application data, messages, images, audio, video, executable files, and other information types as shown below.

Information Type	Typical File Extensions for Information Type
Application programs	.EXE, .COM, .DLL
Image files	.JPG, .GIF, .BMP, .WMF, .WPG
Video files	.AVI, .MPG
Sound files	.WAV, .MID
Archive files	.ZIP, .ARC, .LZH, .CAB
Database files	.DB, .DBF, .MDB, .PDX
Word processing files	.DOC, .DOT, .AMI, .WP
Spreadsheet files	.XLS, .XLW, .XLM, .WKS, .WK1
Almost anything except text	all but .TXT, .ASC
When will internet based communications be required? Almost always. Any Usenet news group posting with binary data must be processed (see Encoding) before posting and after retrieval (see Decoding). Similarly, any e-mail sent between internet accounts (such as those available from an Internet Service Provider), between on-line services (such as AT&T Mail, America On-Line, CompuServe, Delphi, GEnie, MCI mail, Microsoft Network, or those based on X.400 message handling, etc.), or between an internet account and an on-line service must have binary data processed.


Interoperability Using Standards

Because XFERPRO is based on the Internet standards, transferring any information type is possible between your Windows PC and any other computer system, such as a UNIX system or Macintosh or another PC. XFERPRO uses the Multipurpose Internet Mail Extension (MIME) 1.0 Base64 standards according to RFC1521.

Although MIME is the latest standard, other information encoding techniques, such as UU or XX encoding, are still commonplace defacto standards and therefore XFERPRO fully supports them as well. XFERPRO is fully compatible with the standard "uuencode" and "uudecode" programs found on UNIX or other computer systems.

Macintosh computers typically use another similar defacto standard call Binhex. XFERPRO handles the Binhex 4.0 format so that communications with Macintosh systems is also possible.


How does XFERPRO Work?

XFERPRO supports four methods of base64 encoding. Base64 encoding is a method to convert 8-bit binary data into a form which can be used by communications links or networks which cannot transport such data. This method generates (encodes) four International Standards Organization (ISO) characters from every three binary characters, which is basically converting 6 bits of binary information into the appropriate 6 bits within an 8-bit character. ASCII is one form of this ISO character set. This guarantees that only printable and language translatable text is sent when the encoded output is sent over computer communication links or networks. Similarly, the decoding process converts four ISO characters into three binary characters. The penalty of this approach is that the encoded file is 33% larger than the original file, but that's better than not being able to transfer binary data at all!

MIME Base64 Encoding and Decoding

UU Encoding and Decoding

XX Encoding and Decoding

Binhex 4.0 Encoding and Decoding


MIME Base64 Encoding and Decoding

MIME stands for Multipurpose Internet Mail Extensions, which is the latest international standard for base64 encoding. It was designed to handle multiple language support and character translations across multiple types of systems (such as IBM mainframes, UNIX systems, and Macintosh and IBM PC’s).


UU Encoding and Decoding

UU encoding has been the most popular form of base64 encoding. Limitations of UU encoding is that character sets do not translate well between ASCII and EBCDIC (IBM mainframe).


XX Encoding and Decoding

XX encoding is an upgrade of UU encoding, but uses a different character set than UU encoding so that character set translations will work better across multiple types of systems, i.e. between EBCDIC (IBM mainframe) and ASCII. XX encoding is little used, however.


Binhex 4.0 Encoding and Decoding

Binhex 4.0 encoding is similar to both UU and XX encoding, but uses yet another different character set. In addition, Binhex supports additional capabilities. Firstly, a Run Length Encoding (RLE) mechanism is available which can help reduce the encoded file size. Practically speaking, this only occurs if the original input file is not already compressed before being encoded. Secondly, Macintosh file data, such as the creating application, resource and data forks, and other information, is contained within the encoded file. XFERPRO conveniently supports a transfer of files between Macintosh and PC computers over e-mail or Internet connections when Binhex encoding is used.


Shareware Concept

XFERPRO is a shareware program.  The shareware concept allows you to freely try out the software for a limited time before you buy it. Unlike demonstration versions of software, XFERPRO is fully functional and not limited or crippled in any way. The shareware version pops up a reminder notice for registration, however, no features are limited or missing.

XFERPRO is not free software and is copyrighted by the author. Using the software during the limited trial period is free. However, continued use of the software beyond the trial period requires the software to be purchased, commonly called registration in shareware terms. An order form to purchase XFERPRO is contained in the ORDER FORM section. You may also get an order form by pressing F8.

In addition, you may freely distribute the unmodified version of the shareware software (e.g. the non-registered version) to allow others to try it before they buy.

For full details of your rights for using and distributing XFERPRO, please refer to the LICENSE AGREEMENT  section.

Association of Shareware Professionals Ombudsman


Association of Shareware Professionals Ombudsman

XFERPRO is produced by Sabasoft, Inc., a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536.


Documentation Conventions

Programs are indicated using small uppercase letters in the following font (9 point Times New Roman):

XFERPRO or EXPLORER.

File names are indicated using uppercase letters in the following font (12 point Courier New):

this is a FILENAME.

Menu commands are indicated by Menu | Item, where Menu is the top level menu for the program, and Item is the particular choice within the menu.

The Windows TrueType ® fonts were used.


Version Information

This package contains Version 2.0 of XFERPRO, which is a copyrighted shareware program.

Version 2.0


Version 2.0

XFERPRO version 2.0 was released in January 1997.

Features and Benefits:

-	Support of UU, XX, MIME base64 and Binhex 4.0 encoding and decoding methods. All popular formats supported enables file transfers between almost any system and computer type.

-	Both encoding and decoding are supported which allows sending and receiving any information type via the internet.

-	Automatic detection of encoding method makes XFERPRO easy to use for anyone, regardless of expertise. This eliminates the need to know the arcane computer-speak of file encoding and decoding.

-	Automatic single or multiple part decoding with exclusive any-order decoding. Let XFERPRO's automatic detection of many formats save you the trouble of manual labor of error-prone cutting and pasting e-mail messages to decode. You don't even need to worry about the proper order of multiple part messages.

-	Support for over a dozen popular multiple part formats. You can be compatible with your friends instead of making them be compatible with a proprietary encoder / decoder. This is really important given the lack of multi-part encoding standards.

-	Single or multiple part encoding. Optional message size limiting ensures that your information transfer won't overload your e-mail system (or anyone else's).

-	Encoding and decoding to a file. This provides the most generic interface to any e-mail application or other program.

-	Encoding to and decoding from the clipboard. If you are already in your e-mail application, encoding a file will allow a simple paste into the body of an e-mail message, making sending easy. Similarly, an e-mail message body can be copied and pasted into XFERPRO for decoding, saving time and effort.

-	Encoding directly to and decoding directly from e-mail recipients. XFERPRO can automatically send encoded files to an e-mail recipient list or allow you to choose e-mail messages to decode without requiring you to log into your e-mail application. This capability works with any MAPI compliant e-mail application installed on your system, such as Windows Messaging (i.e. Exchange).

-	Many command line options which allow XFERPRO to be called as a helper application to other programs, such as a web browser.

-	Fully configurable, including custom defaults. Let XFERPRO operate most efficiently with the way you do.

-	Extensive on-line help is provided. Why dig through a paper manual when the computer can do the searching for you?


Installation

To save time and make installation easier, XFERPRO has an automated setup utility called SETUP.EXE, which copies the files to their appropriate location on your destination disk.

Installing and Running on Various Drive Types

New Installation

Upgrading from Any Previous Version

Un-installing

File Type Association


Installing and Running on Various Drive Types

XFERPRO may be installed on and run from either a floppy disk, hard disk, or networked drive.


New Installation

Run SETUP.EXE from the drive/directory containing the XFERPRO files.


Upgrading from Any Previous Version

Run the SETUP.EXE from the drive/directory containing the XFERPRO files as for new installation. This will automatically overwrite any previous versions.


Un-installing

Run Control Panel and select Add/Remove Programs. Scroll down the list until you see XferPro 32 v2.0. Choose that and select Remove.


File Type Association

EXPLORER file associations are automatically performed during the installation process. These associations will work as described in the Operation Based on Input File Name section. If, for any reason, you need to do this again, then follow the steps shown below at any time after XFERPRO installation.

Step 1.	Run XFERPRO.

Step 2.	Choose the Configure | General menu item. The General Configuration dialog box is displayed.

Step 3.	Click the “Make File Associations” button and then press Cancel.


Program Operation

XFERPRO has two modes of operation; interactive mode and Quiet Mode.  Interactive Mode is used when the command line argument of -N is not specified on the command line when starting XFERPRO. This mode, which is the default, is useful whenever the most user interaction and progress display is desired.

Quiet Mode is used whenever the command line option of -N is specified on the command line.  This mode is useful for launching XFERPRO from a macro or other program in which interactive user input and query is not desired. In this case, all input to XFERPRO must be provided via Command Line Arguments.

Anatomy of the Main Window

Interactive Mode

Quiet Mode

Command Line Operation

Operation Based on Input File Name

Shell Extensions


Anatomy of the Main Window

The main window provides detailed interactive status information while XFERPRO is running. This status is provided for all operating modes.

The status information lines indicate the method of encoding or decoding selected, the input and output file names, the encoding or decoding format being processed, and the number of parts.

The cancel button allows the user to cancel the operation while it's running.  This button only appears when an operation is in progress.

The progress bar indicates how much of the input files, as a percentage, have been processed.


Interactive Mode

The interactive mode of XFERPRO provides detailed status information during and after the encoding or decoding process. Interactive mode is used whenever Quiet Mode is not selected.

Interactive mode is most useful when several files will be encoded or decoded.  In addition, while in interactive mode, unlike Quiet Mode, XFERPRO will prompt the user before the following actions are done:

A.	Prompt for a file to be encoded or decoded. Prompts are not required if file(s) are dropped on the main window (Drag-and-Drop Operation) or file(s) are specified on the command line (Command Line Operation).

B.	After choosing the encoding or decoding operation, a suggested file name for output is shown.  The user is allowed to modify the output file name, unless Use Default File Names is enabled.

C.	If a file to be output already exists, XFERPRO will ask permission before overwriting it, unless Overwrite Existing Files without Asking is enabled.

Interactive mode can be entered via Menu Operation or via Drag-and-Drop Operation as described next.

Menu Operation

Drag-and-Drop Operation


Menu Operation

Menu operation is started by running XFERPRO without any files specified on the command line.  All subsequent activities are carried out via menu choices and dialog box entries. For instructions on how to use XFERPRO via the menus, see either Encoding or Decoding.


Drag-and-Drop Operation

Drag-and-Drop operation is activated when files are dropped on XFERPRO via EXPLORER.  Drag-and-Drop operation can also be started by dropping files on the XFERPRO.EXE file in a EXPLORER window when XFERPRO is not yet running.  In that case, EXPLORER will automatically start running XFERPRO and drop the selected files on it.

XFERPRO supports dropping of one or many files.  If multiple files are dropped, they will be operated on one at a time until all files have been processed.  Each file is treated independently, unless Decode Multiple Input Files as 1 is enabled.  Therefore, you may encode or decode files as determined by their file name.  To determine how the dropped file name affects the operation selected by XFERPRO, see the Operation Based on Input File Name section.

Drag-and-Drop With Automatic Decode Detection Enabled


Drag-and-Drop With Automatic Decode Detection Enabled

If you configure XFERPRO for Automatic Detection of Decode File Format, XFERPRO will not know whether the file should be encoded or decoded when drag-and-dropping since the name cannot be used to make that decision. In this case, decoding will first be attempted. If the decode process fails, which it most likely will for files to be encoded, XFERPRO will then prompt the user to encode the file if desired.


Quiet Mode

The quiet mode of XFERPRO is intended for running by macros or other programs which do not require interactive user input. All operations are done via the programmed defaults (see Configuration) and input supplied via Command Line Arguments. Quiet Mode is entered whenever the -N Option (Quiet Mode) is specified on the command line when starting XFERPRO.


Command Line Operation

Command line operation is used via the Start | Run command of EXPLORER or when you type into a Command Prompt (i.e. DOS) window. Command line operation is most useful when called by other programs as a helper application.

Command Line Arguments


Command Line Arguments

XFERPRO supports many command line arguments. The options can be declared using UNIX or DOS option style indicators, / (slash) or - (dash), respectively, and may be in either uppercase or lowercase letters.

-C Option (Encode to Clipboard)

-E Option (Encode Files on Command Line)

-J Option (Decode Multiple Files as 1)

-M Option (Encode to E-mail Recipients)

-N Option (Quiet Mode)

-O Option (Specify output file name)

Command Line File Name Specification


-C Option (Encode to Clipboard)

/C or -C	Places the command line specified files being encoded onto the clipboard. A separate action is required (not via XFERPRO) to paste the clipboard text (containing the encoded file(s)) into an e-mail program or e-mail enabled application to send the encoded file. This option automatically enables the -E option (Encode Files on Command Line).


-E Option (Encode Files on Command Line)

/E or -E	If the /E option is specified, then all files on the command line will be run through the encoding process. The default is that without the /E option, all files on the command line will be run through the decoding process.

If only the -E option is specified, the configured encoding default (see Encode Method) will be used. A particular encoding method can be specified via a second option letter as follows:

-EU	UU encode all the files on the command line

-EX	XX encode all the files on the command line

-EM	MIME base64 encode all the files on the command line

-EB	Binhex 4.0 encode all the files on the command line

The second letter must immediately follow the -E option (i.e. no spaces after the -E) and can be either upper- or lowercase.


-J Option (Decode Multiple Files as 1)

/J or -J	Permits the user to Decode Multiple Input Files as 1. When this option is used, all input files specified on the command line are concatenated and treated as one large input file for decoding.


-M Option (Encode to E-mail Recipients)

/M or -M	Permits command line specification of a list of e-mail recipients for encoding. This option automatically enables the -E option (Encode Files on Command Line). The format of the e-mail recipient list is as follows:

e-mail_recipient_one@somewhere.com[,e-mail_recipient_two@elsewhere.com, ...]

The e-mail addresses given may not contain spaces . Multiple addresses may be specified by a comma separated list (again without spaces). The recipient list may immediately follow the -M option or follow it after any number of spaces. There is a limit of 32 recipients that can be specified.

Note that your e-mail program must be running before XFERPRO is run with this option so that your e-mail messages can be sent.


-N Option (Quiet Mode)

/N or -N	Permits the user to run in Quiet Mode. When this option is used, user input is never required and all actions are based on the configured options and supplied command line arguments.


-O Option (Specify output file name)

/O or -O	If the /O option is specified, then the output file name after the encoding or decoding process will be named as specified on the command line. This option overrides any other behavior with regard to file naming conventions. The default is that without the /O option, the output file name will be selected as described in Use Default File Names.


Command Line File Name Specification

[no option]	Given long file names can use spaces, indicating a file name on the command line which contains spaces requires the usage of the double quote character ‘”’. File names without any spaces do not require using double-quote characters. File names must be separated with spaces which are not contained within matching pairs of double-quote characters. The following are all valid ways of specifying file names on the command line.

“a long name with spaces.uue” NoSpacesInThisName.xxe “another name with spaces.hqx”

NoSpacesName1.wav NoSpacesName2.txt NoSpaces3.zip “Spaces in this name.doc”

“NoSpacesCanBeinQuoteMarksToo” “second name” “the last of 3 file names”


Operation Based on Input File Name

The default operation is to scan the input file for decoding, regardless of the filename or extension. However, the choice of performing an encode or decode process can also be determined by the extension of the file name supplied on the command line, if the Decode Method is optioned to do so.

You can also force a particular method decoding, regardless of the input file name, as described in Decode Method.

When programmed for decoding based on input file names, files with any extension other than ".UUE", ".UU", ".XXE", ".XX", ".HQX", ".HEX", ".B64", ".MME" or ".MM" will be run through the encoding process. The choice of encoding method, either UU, XX, Binhex or MIME, is determined by the previously configured Encode Method.

Summary of filename and resulting action:

File extension	Process

".UUE"	UU decode

".UU"	UU decode

".XXE"	XX decode

".XX"	XX decode

".MME"	MIME base64 decode

".MM"	MIME base64 decode

".B64"	MIME base64 decode

".HQX"	Binhex 4.0 decode

".HEX"	Binhex 4.0 decode

“all other”	Encode as configured via Encode Method


Shell Extensions

When running EXPLORER and clicking the right mouse button on one or more files, XFERPRO adds context menus to all files for Encoding and optionally, depending on file extension, for Decoding.

Encoding Shell Extensions

Decoding Shell Extensions


Encoding Shell Extensions

XFERPRO adds an “Encode” context menu to all files (i.e. independent of file extension) when clicking on one or more files using the right mouse button while running EXPLORER. All functions as explained in the Procedures section are provided. The menu is cascading with “Encode” as the main entry, followed by “To File,” “To Clipboard,” and “To E-mail Recipient.” For each menu option, any Encode Method can be selected.


Decoding Shell Extensions

XFERPRO adds a “Decode” context menu to files having extensions which indicate those which can be decoded as listed in Operation Based on Input File Name. When right-clicking on one or more such files using the right mouse button while running EXPLORER, the default action will be “Decode.” When “Decode” is selected, XFERPRO will run using the default Decoding Configuration when processing the selected files.


Procedures

As mentioned in the introduction, XFERPRO performs encoding and decoding to allow transmission and reception of binary files and data over e-mail, Usenet and the internet. The illustration below graphically displays how the process works. Details for the operation of each step are contained in the text that follows.

Encoding

Decoding

Examples


Encoding

Encoding will cause XFERPRO to begin the process of encoding a binary file (actually, any file type) into an encoded ASCII file which can then be sent via e-mail or Usenet. The encoding process converts a file containing 8-bit multi-media information (binary data) into a 6-bit ISO character set (ASCII) encoded form which can be handled by text-only systems such as e-mail and Usenet. The sender of the information will perform this task. On the other end, the receiver will perform the inverse process of Decoding to retrieve the original file or data.

XFERPRO allows encoding of a file with the output placed into another file, to the clipboard or sent to a list of e-mail recipients.

Encoding to a File

Encoding to the Clipboard

Encoding to E-mail Recipients


Encoding to a File

The following steps apply to Interactive Mode. In Quiet Mode, files with extensions other than those identified for decoding are automatically encoded without additional user prompting (see Operation Based on Input File Name).

Entry.	Selecting the File | Encode to File menu item enters the encoding process.

Step 1.	You will first be prompted to select files to encode. A dialog box will appear showing all files in the directory. Pick one or more file names and then click the OK button or press Enter. An output file name will be suggested with the default file extension based on the encoding method (see Operation Based on Input File Name).  You may change it if you wish, unless Use Default File Names is enabled. If you want Multiple Enclosures, select all the files to be encoded and they will all be placed in the output file.

Step 2.	The encoding process is started by clicking the "OK" button (or pressing Enter).  If the output file already exists, XFERPRO will ask if you want to overwrite it, unless Overwrite Existing Files without Asking is enabled. You will notice a % complete bar being updated as XFERPRO encodes the input file.

Step 3.	At any time during the encoding process, you may click the "Cancel" button with the mouse and be returned to the main menu, ready for another command. If you cancel the encoding operation, no encoded output file will be generated.  When encoding is complete, you will see a dialog box indicating success or failure. If encoding fails, see Common Causes of Encoding Failures.

Step 4.	Now that the file is encoded, you must e-mail it to the recipient. Use a text editor to open the encoded file and copy the encoded file into the body of a new e-mail message. If the file format (see File Formats) you have chosen contains a “Subject:” line, place that into the Subject field of the e-mail message and delete it from the message body. Then send your message to its recipient. Repeat this step for as many encoded files as created. In the case of multiple part encoded files, send each file separately in this way.


Encoding to the Clipboard

Encoding to the clipboard is most useful if you are already logged into your e-mail program. Due to the nature of clipboard operation, all files to be encoded must be in one piece on the clipboard, which means that the File Formats supported are Single File or Multiple Enclosures only (such as supported via MIME or Binhex).

Entry.	Selecting the File | Encode to Clipboard menu item enters the encoding process.

Step 1.	You will first be prompted to select files to encode. A dialog box will appear showing all files in the directory. Pick one or more file names and then click the OK button or press Enter. If you want Multiple Enclosures, select all the files to be encoded and they will all be placed in the output file.

Step 2.	The encoding process is started by clicking the "OK" button (or pressing Enter). You will notice a % complete bar being updated as XFERPRO encodes the input file.

Step 3.	At any time during the encoding process, you may click the "Cancel" button with the mouse and be returned to the main menu, ready for another command. If you cancel the encoding operation, no encoded output will be placed on the clipboard. When encoding is complete, you will see a dialog box indicating success or failure. If encoding fails, see Common Causes of Encoding Failures.

Step 4.	Now that the file is encoded on the clipboard, you must e-mail it to the recipient. Run your e-mail program and create a new message for sending. Position your cursor into the message body and paste (usually the Edit | Paste menu). If the file format (see File Formats) you have chosen contains a “Subject:” line, place that into the Subject field of the e-mail message and delete it from the message body. Then send your message to its recipient.


Encoding to E-mail Recipients

Encoding to e-mail recipients is most useful if you are not logged into your e-mail program or you have multiple part files to send (e.g. due to e-mail message size limitations). Note that this capability is only available for system configurations which have a MAPI compliant e-mail program installed.

Entry.	Selecting the File | Encode to E-mail menu item enters the encoding process.

Step 1.	If necessary, XFERPRO will log into your e-mail system after appropriate selection of user profile and password.

Step 2.	You will then be prompted to select files to encode. A dialog box will appear showing all files in the directory. Pick one or more file names and then click the OK button or press Enter. If you want Multiple Enclosures, select all the files to be encoded and they will all be placed in the output file.

Step 3.	The encoding process is started by clicking the "OK" button (or pressing Enter). You will notice a % complete bar being updated as XFERPRO encodes the input file.

Step 4.	At any time during the encoding process, you may click the "Cancel" button with the mouse and be returned to the main menu, ready for another command. If you cancel the encoding operation, no encoded files will be e-mailed. When encoding is complete, you will see a dialog box indicating success or failure. If encoding fails, see Common Causes of Encoding Failures.

Step 5.	At this point, all encoded files will be in your e-mail “Outbox.” If necessary, you may need to trigger your e-mail program to actually send the encoded files, depending on the configuration of your e-mail program.


Decoding

Decoding will cause XFERPRO to begin the process of decoding a previously encoded file into its original binary format. The decoding process converts encoded text containing a 6-bit ISO character set (ASCII) encoded data into its original 8-bit multi-media information (binary data) form. The receiver of the information will perform this task. On the other end, the sender must have already performed the inverse process of Encoding the original file or data before transmission to the receiver. Once decoded, you will need an application which can read the original binary file format that is compatible with the sender. XFERPRO does not interpret the decoded file itself.

XFERPRO allows decoding from a file, the clipboard or an e-mail message into a file.

Decoding from a File

Decoding from the Clipboard

Decoding from E-mail Recipients


Decoding from a File

Decoding from a file is most useful after you have already saved a previously encoded e-mail message to a file.

The following steps apply to Interactive Mode. In Quiet Mode, files with the typical extensions indicating decoding (see Operation Based on Input File Name) are automatically decoded without additional user prompting.

Entry.	Before decoding from a file, the e-mail message(s) or Usenet posting(s) must have been saved in it’s entirety to a file (or files).

Step 1.	Selecting the File | Decode from File menu item enters the decoding process.

Step 2.	A dialog box will appear showing all files in the directory that have the typical extensions which indicate a decoding operation (see Operation Based on Input File Name).

Step 3.	You will first be prompted to select a file to decode.  Pick the file name and then click the OK button or press Enter. If you are decoding multiple files, select all the files to decode. XFERPRO does not depend on numbering the files in sequential order in the same directory.  XFERPRO will read the encoded file to determine the name of the output file. You will be prompted with the output file name, which you can change if you wish, unless Use Default File Names is enabled. If there are Multiple Enclosures, they will be automatically decoded one after another.

Step 4.	The decoding process is started by clicking the "OK" button.  XFERPRO will check if the output file already exists. If it does, you will be asked if you want to overwrite it, unless Overwrite Existing Files without Asking is enabled.  You will then notice a % complete bar being updated as XFERPRO decodes the input file.

Step 5.	At any time during this process, you may click the "Cancel" button using the mouse and be returned to the main menu, ready for another command. If you cancel the decoding operation, no decoded output file will be generated. When decoding is complete, you will see a dialog box indicating success or failure. If decoding fails, see Common Causes of Decoding Failures.

Step 6.	Now that the sender’s original binary file is decoded, you can open it with the relevant application program, such as a word processor or graphic viewer.


Decoding from the Clipboard

Decoding from the clipboard is most useful if you are already logged into your e-mail program. Due to the nature of clipboard operation, all text to be decoded must be in one piece on the clipboard, which means that the File Formats supported are Single File or Multiple Enclosures only.

Entry.	Before decoding from the clipboard, the e-mail message or Usenet posting must be placed on the clipboard. To do this, select the entire message body text and copy it to the clipboard. This is usually done via the Edit | Copy menu item of the e-mail application.

Step 1.	Selecting the File | Decode from Clipboard menu item enters the decoding process. If this menu item is disabled, it means there is no text on the clipboard available for decoding. In that case, do the Entry step listed above.

Step 2.	XFERPRO will read the clipboard text to determine the name of the output file. You will be prompted with the output file name, which you can change if you wish, unless Use Default File Names is enabled. If the output file already exists, you will be asked if you want to overwrite it, unless Overwrite Existing Files without Asking is enabled. If there are Multiple Enclosures, they will be automatically decoded one after another.

Step 3.	You will then notice a % complete bar being updated as XFERPRO decodes the clipboard text (containing the encoded file contents). At any time during this process, you may click the "Cancel" button using the mouse and be returned to the main menu, ready for another command. If you cancel the decoding operation, no decoded output file will be generated. When decoding is complete, you will see a dialog box indicating success or failure. If decoding fails, see Common Causes of Decoding Failures.

Step 4.	Now that the sender’s original binary file is decoded, you can open it with the relevant application program, such as a word processor or graphic viewer.


Decoding from E-mail Recipients

Decoding from e-mail recipients is most useful if you are not logged into your e-mail program or you have many e-mail messages to decode. Note that this capability is only available for system configurations which have a MAPI compliant e-mail program installed.

Entry.	Selecting the File | Decode from E-mail menu item enters the decoding process.

Step 1.	If necessary, XFERPRO will log into your e-mail system after appropriate selection of user profile and password.

Step 2.	A dialog box will appear showing all messages in the e-mail In Box. The list contains an icon showing the type of message, subject, sender, date received, message size in bytes, and the type of message. The icon indicates a message type as follows:

	Message Type	ICON
	Text message, which may contain encoded files.
	XFERPRO text message, which does contain encoded files.
	Message with attachments. These attachments may have already been decoded, depending on the capability of the e-mail application.
Selected one or more e-mail messages may for decoding. XFERPRO will read the chosen e-mail messages to determine the name of the output file. You will be prompted with the output file name, which you can change if you wish, unless Use Default File Names is enabled. If the output file already exists, you will be asked if you want to overwrite it, unless Overwrite Existing Files without Asking is enabled.  If there are Multiple Enclosures, they will be automatically decoded one after another. If the message type indicates as having attachments, XFERPRO will instead save the attachments rather than decode the text portion of the message.

Step 3.	You will then notice a % complete bar being updated as XFERPRO decodes the e-mail messages (containing the encoded file contents or attachments). At any time during this process, you may click the "Cancel" button using the mouse and be returned to the main menu, ready for another command. If you cancel the decoding operation, no decoded output file will be generated. When decoding is complete, you will see a dialog box indicating success or failure. If decoding fails, see Common Causes of Decoding Failures.

Step 4.	Now that the sender’s original binary file is decoded, you can open it with the relevant application program, such as a word processor or graphic viewer.


Examples

The following examples illustrate Encoding to a File and Decoding from a File.

Example of Sending a Binary File

Example of Receiving a Binary File


Example of Sending a Binary File

Normally, sending e-mail is a one step process; just use your e-mail program. To send files, an additional step must be taken using XFERPRO. Once the information is sent, the process must be reversed as explained in Example of Receiving a Binary File.

Step 1.	Encode the binary file as explained in Encoding to a File. For illustrative purposes, let's call the binary file BINARY.EXE. The default encoded output file with UU encoding would be called BINARY.UUE. If multiple parts are required due to file size limitations, you could have several encoded output files. In this example, let's assume three parts are required; called BINARY1.UUE, BINARY2.UUE, and BINARY3.UUE.

Step 2.	Start or activate your e-mail program. Now insert, via cut and paste with some text editor program, the encoded file, called BINARY.UUE, as the e-mail data. Some e-mail programs can encode files automatically if an “attach file” feature exists. In that case, you need not encode the file; just attach it. Read your e-mail program documentation to determine this.

Special note 1: You may still need to encode the file if the receiver cannot decode the format used by the “attach file” feature of the e-mail program. In this case, do NOT attach the file. Proceed with inserting the encoded file data as mentioned above. If you attach an encoded file, it will be encoded twice, which is unnecessary, wasteful of network resources, and would need to be decoded twice upon receipt by the receiver.

Special note 2: Some e-mail programs have a message type indicator of text or binary. If true for your e-mail program, make sure the type is set to text since encoded files are always text-only.

The recipient of this e-mail message must run the message through the decoding process, which is described in Decoding. This completes the sending process. The recipient will reverse this process as explained in Example of Receiving a Binary File.

If you must send multiple encoded parts due to e-mail file size limitations, repeat this step for each part of the encoded file set. Send one encoded file per e-mail message. In this example, each of three e-mail messages would contain one file; BINARY1.UUE, BINARY2.UUE, and BINARY3.UUE.


Example of Receiving a Binary File

In order to receive multi-media files via e-mail, one must have both an electronic mail program as well as XFERPRO.  Normally, receiving e-mail is a one step process; just use your e-mail program. To receive multi-media files, an additional step must be taken using XFERPRO. These two steps explain how to reverse the process of encoding as explained in Example of Sending a Binary File.

Note:	If you must receive multiple encoded parts due to e-mail file size limitations, first enable Decode Multiple Input Files as 1 so that all input (encoded) file parts can be decoded in one step.

Step 1.	Start or activate your e-mail program. Save the e-mail message to a file. Make sure the saved message is in text only - do not save it in word processor or other application file formats. Most e-mail programs have a “Save As” selection under the File menu. If so, it may also have a save file format, in which case you should select “text.”

For illustrative purposes, call the saved e-mail message file BINARY.UUE. You can save the message with all e-mail header information. There is no need to strip off the e-mail header data because XFERPRO will not try to decode it.

If there are multiple parts to decode, repeat this step as many times as required, giving each part a different file name. If there were three parts, save each part with a number, such as BINARY1.UUE, BINARY2.UUE, and BINARY3.UUE. Note that there is no need to number the parts in any particular order.

Step 2.	On the saved file called BINARY.UUE, run the decoding process as explained in Decoding from a File. If there are multiple parts, you will have to select all the parts for decoding to work. In this multiple part example, you would select BINARY1.UUE, BINARY2.UUE, and BINARY3.UUE.

When complete, the original BINARY.EXE file will have been re-constructed in the output directory selected, either where the BINARY.UUE file resides or whatever Decoding Output Directory is established.


Commands

The following topics explain the menu system of XFERPRO.

File Menu

Configuration

Help Menu


File Menu

The file menu allow you to encode or decode files, or exit the program.

Encode to File

Encode to Clipboard

Encode to E-mail

Decode from File

Decode from Clipboard

Decode from E-mail

Exit Menu Item


Encode to File

See the Encoding to a File topic for details.


Encode to Clipboard

See the Encoding to the Clipboard topic for details.


Encode to E-mail

See the Encoding to E-mail Recipients topic for details.


Decode from File

See the Decoding from a File topic for details.


Decode from Clipboard

See the Decoding from the Clipboard topic for details.


Decode from E-mail

See the Decoding from E-mail Recipients topic for details.


Exit Menu Item

Selecting Exit will quit the XFERPRO program.

If XFERPRO is running when exit is pressed, XFERPRO will first cancel the operation (as if the Cancel button were pressed) and clean up any temporary files used during the encoding or decoding process.  Therefore, it may take a few seconds before XFERPRO completely exits.


Configuration

You can configure XFERPRO various ways to operate according to your preferences.  There are configuration options for general file handling and window display, encoding, and decoding operations.

In each configuration dialog box, there are both "OK" and "Save as Default" buttons. If you choose "OK," all configuration options chosen will be used for the remainder of the time XFERPRO is operation (unless you re-configure XFERPRO again). The next time XFERPRO is run, the configuration options will be set to the previous defaults. If you choose " Save as Default," then all configuration options will be put into effect and saved as the defaults which will be active the next time XFERPRO is run. You can, of course, change your defaults any time you run XFERPRO. All defaults are placed in the Windows registry such that each user on the system can maintain their own personal defaults based on their login.

General Configuration

Encoding Configuration

Decoding Configuration

Check Version


General Configuration

The following topics explain how XFERPRO can be configured to handle display and file naming for both Encoding and Decoding operations.

Overwrite Existing Files without Asking

Use Default File Names

Become ICON When En/Decoding

Stay ICON When En/Decoding

No Status Messages

Make File Associations


Overwrite Existing Files without Asking

Setting this option applies only when XFERPRO is run in Interactive Mode. This option is automatically enabled when Quiet Mode is used or when a multiple part encoded output (see also Encode File Format) is selected.

Enable this option if you want XFERPRO to automatically overwrite any existing output files.

In Interactive Mode, the default is to ask user permission before any previously existing output files are overwritten.


Use Default File Names

Setting this option applies only when XFERPRO is run in Interactive Mode.  This option is automatically enabled when Quiet Mode is used or when multiple part encoded output is selected (see also Encode File Format).

Enable this option if you want XFERPRO to automatically choose the output file name for you.  The output file name is either the result of Encoding or the file name as specified in the encoded file when decoding is used.

For encoding and a single file output, the default file name is the input file name with the extension replaced with ".UUE" for UU encoding or ".XXE" for XX encoding.  For example, the default file name for encoding ANYFILE.EXE is ANYFILE.UUE.

For multiple file encoded output (see also Encode File Format), the output name of each file part is determined automatically.  The output file names consist of the input file name with a 1 or 2 digit part number (1 to 99) concatenated, and having an extension of ".UUE", ".XXE," ".HQX" or ".MME". For example, if an XX encoded output file required four (4) parts and the input file name was MYARCHIV.ZIP, the output parts would be named MYARCHIVE1.XXE, MYARCHIVE2.XXE, MYARCHIVE3.XXE, and MYARCHIVE4.XXE.  Similarly, if a file to be encoded was named ABC.EXE, then the four output parts would be ABC1.UUE, ABC2.UUE, ABC3.UUE, and ABC4.UUE.

For decoding, the default file name is that which is specified in the encoded input file. For example, if the file being decoded is named FILE.UUE and contains the file ABC.ZIP, then the default file name is ABC.ZIP.

The default is to ask user permission to use the proposed output file name. This allows the user to manually change the proposed name if desired.


Become ICON When En/Decoding

Setting this option applies only when XFERPRO is run in Interactive Mode.

Enable this option if you want XFERPRO to run as an ICON while encoding or decoding files.  XFERPRO will automatically restore to its previous size when the operation is completed.


Stay ICON When En/Decoding

Setting this option applies only when XFERPRO is run in Interactive Mode.

Enable this option if you want XFERPRO to remain an ICON after encoding or decoding files.

The default is that XFERPRO will automatically restore to its previous size when the operation is completed.


No Status Messages

Setting this option applies only when XFERPRO is run in Interactive Mode. This option is automatically enabled when XFERPRO is run in Quiet Mode.

Enable this option if you want XFERPRO to run without requiring user confirmation of success or failure of operations when they are completed.


Make File Associations

Pressing the Make File Associations button will update the system registry such that all files with file extensions typically used for encoded files (see Operation Based on Input File Name) will run XFERPRO when double-clicked or “opened” from EXPLORER. The file’s context menu will have a “Decode” option added when right-clicking on the file. Similarly, the XFERPRO ICON will be used to indicate these files are for decoding. This process is done automatically as part of installation. However, it is provided as a configuration option in case the registry must be re-programmed instead of having to re-install XFERPRO.


Encoding Configuration

The following topics explain how XFERPRO can be configured to handle Encoding operations.

Encode File Format

Encode Method

End of Line String

Max Encoded File Size

Generate Checksums on Encoded Output

Encoding Output Directory


Encode File Format

XFERPRO supports many formats for single or multiple part encoding. The encoding formats are as follows (see also File Formats for a detailed description of each):

-	Single file

-	SimTel multiple part format

-	Comp.binaries Usenet news group multiple part format

-	Four of the most common multiple part formats used in Alt.binaries Usenet news groups

-	UNIX shell archive multiple part format

-	DOS UUENCODE/UUDECODE version 5.24 multiple part format

-	X-File header style format

-	UUXFER version 2.0 multiple part format

-	WINCODE version 2.3 multiple part format

-	POST version 1.2.0 multiple part format

-	xmitBin multiple part format

-	BITFTP (BITNET) listserver multiple part format

Select the format required from the list shown.

All but the single file format are considered multiple part formats.

MIME or Binhex can only use the single file format as defined by the standard. All the multiple part formats can use either the UU or XX Encode Method.


Encode Method

XFERPRO supports encoding using MIME, UU, XX, or Binhex 4.0 character set. MIME is the latest standard intended to be the most transportable across all systems. XX encoding uses a different character set than UU encoding which allows for EBCDIC to ASCII conversions. Binhex is used primarily by Macintosh systems.

The most popular method today, however, is still UU encoding, although MIME is quickly catching up. Select UU for UU encoding, XX for XX encoding, MIME for MIME encoding, or Binhex for Binhex 4.0 encoding.


End of Line String

Since XFERPRO encoded output may be transferred to either PC or UNIX systems, an option is provided to allow an end-of-line (EOL) terminator string specific to the destination computer type. DOS uses a carriage return (CR) followed by a line feed (LF), while UNIX uses only a LF. Select DOS/Windows for the CR/LF end-of-line or UNIX for LF end-of-line terminator.


Max Encoded File Size

When encoding using any of the multiple part formats, the maximum output file size parameter limits the maximum number of characters per part to the value specified.  The range for this size is 4500 to 1,048,576 (1M) bytes.  The default is 60,000 bytes, which is somewhat less than a typical e-mail program limit of 64K (65,536) bytes. Note that the output file(s) may be slightly larger or smaller that this number due to the variable header and trailer data required for the multiple part formats.

The number of output parts is automatically calculated from the input file size and the maximum output file size.  There is a ninety-nine (99) part maximum.

When the single file option is chosen, the encoded output file is in one piece, regardless of size.  Therefore the maximum output file size field has no effect with this option (and is grayed to so indicate).

See the Use Default File Names section for information on how the output files are named.


Generate Checksums on Encoded Output

To assist in detecting errors introduced by the transport network carrying UU or XX encoded files, a checksum can be placed in each encoded output file. Decoding programs capable of detecting these checksums, such as XFERPRO, can indicate whether the encoded input appears corrupted.

XFERPRO uses the same checksum algorithm as the UNIX "sum -r" command. Each part, whether single or multiple parts are output, has appended at the end of the part a checksum line containing the checksum data for that part as well as it's encoded size in bytes. Additionally, the last part also has appended checksum data for the original input file and input file size so that the decoded output can be checked against the original input file that was encoded.

Enable this option to automatically generate the appropriate checksum data. Please note that the UNIX shell archive format does not support the checksum data option.

The Binhex encoding method requires a CRC-16. Therefore, XFERPRO will always output the CRC-16 into the encoded file regardless of this parameter setting.


Encoding Output Directory

This option allows the user to optionally specify where the encoded output files are placed. When the “Same as Input File” option is enabled, the encoded output files are placed in the same directory as the files being encoded. If the “User Specified” option is enabled, a directory name can be specified in which case the output files are all placed in that directory, regardless of which directory the input files reside. If “User Specified” is enabled and the directory name is empty, the output will be placed in the root directory of the current drive.


Decoding Configuration

The following topics explain how XFERPRO can be configured to handle Decoding operations.

Automatic Detection of Decode File Format

Decode File Format

Decode Method

Decode Multiple Input Files as 1

Test Checksum Data if Present

Decoding Output Directory


Automatic Detection of Decode File Format

When decoding, the default is to automatically detect the file format used and decode as required. Due to the prolific number of formats, for which there is unfortunately no standard - defacto or otherwise, it is possible that XFERPRO can be confused by an unsupported format. To assist in decoding, a specific Decode File Format can be requested.


Decode File Format

When Automatic Detection of Decode File Format is disabled, the specific format to look for is chosen via a list of radio buttons. The default is to automatically detect which file format to use when decoding. The types are as follows (see also File Formats for a detailed description of each):

-	Single file

-	SimTel multiple part format

-	Comp.binaries Usenet news group multiple part format

-	Four of the most common multiple part formats used in Alt.binaries Usenet news groups

-	UNIX shell archive multiple part format

-	DOS UUENCODE/UUDECODE version 5.24 multiple part format

-	X-File header style format

-	UUXFER version 2.0 multiple part format

-	WINCODE version 2.3 multiple part format

-	POST version 1.2.0 multiple part format

-	POST version 2.0.1 (without the CRC capabilities)

-	xmitBin multiple part format

-	BITFTP (BITNET) listserver multiple part format

-	Squirrel 3.0 mail server

-	America On-Line


Decode Method

XFERPRO supports decoding using the MIME base64, UU, XX, or Binhex 4.0 character set. Normally, XFERPRO determines which method to decode with by reading the input file data. XFERPRO can also be programmed to determine the decoding Operation Based on Input File Name.

If a specific decoding method is required, select MIME for MIME decoding, UU for UU decoding, XX for XX encoding, or Binhex for Binhex 4.0 decoding. This will force the particular decoding method regardless of the input file name or input file contents.

If XFERPRO detects that the decoding method is inconsistent with the input supplied, the user is warned of the problem. In this case, another decode method will need to be selected.

The default for this option is to decode based on input file data.


Decode Multiple Input Files as 1

Typically, all parts of an encoded file are present in a single file to decode. If the encoded input is spread across multiple files, enabling this option will cause all input files to treated as one large input file which XFERPRO can then decode. This option allows decoding of a single encoded data stream split across any number of encoded files with the parts in any order. The default for this option is enabled.

Another capability of XFERPRO when decoding multiple parts in multiple files is that any file name can be used. There is no requirement to name the files in a sequential numbered order or to use a particular file extension (if Decode Method is set to Based on Data Input), such as FILE1.UUE, FILE2.UUE, etc. However, this means that all files to be decoded must be selected for decoding. XFERPRO will not search the current directory for specially numbered file names.

This option is also available from the command line as explained in Command Line Arguments.


Test Checksum Data if Present

XFERPRO will automatically determine if any file checksum data is present to help detect possible errors introduced during transport across a network. If such checksum data is present, XFERPRO will test that data against it's own calculation and report if any mismatches occur. XFERPRO does not abort decoding if mismatches are found, but rather warns that a potential problem with the decoded file exists.

The default is for this option is enabled.

Binhex CRC Data


Binhex CRC Data

Embedded in the Binhex 4.0 format are Cyclic Redundancy Checks (CRC) instead of checksum data. XFERPRO will automatically test the Binhex CRC data regardless of the setting of the Test Checksum Data if Present option.


Decoding Output Directory

This option allows the user to optionally specify where the decoded output files are placed. When the “Same as Input File” option is enabled, the decoded output files are placed in the same directory as the files being decoded. If the “User Specified” option is enabled, a directory name can be specified in which case the output files are all placed in that directory, regardless of which directory the input files reside. If “User Specified” is enabled and the directory name is empty, the output will be placed in the root directory of the current drive.


Check Version

To use this feature, you will need to have a web browser installed (such as Microsoft Internet Explorer or NetScape Navigator) and a configuration to log onto the internet.

This option will display XFERPRO’s current version information and allow you to log into Sabasoft’s internet web site to check if you have the latest version. Once logged in, your browser screen will indicate whether you have the latest version or not. If not, internet web links will be displayed at which you can obtain the latest patch update file and download it. Once the patch file is downloaded, quit XFERPRO and run the newly downloaded patch program to update your copy of XFERPRO to the latest version.


Help Menu

The following topics explain various information available via the Help menu.

Index Menu Item

Commands Menu Item

Procedures Menu Item

Keyboard Menu Item

Using help Menu Item

About Menu Item

Technical Support Menu Item

Can’t Encode Menu Item

Can’t Decode Menu Item

Type-in ORDER FORM Menu Item

Hand-written ORDER FORM Menu Item

Register Menu Item

ASP Ombudsman Menu Item


Index Menu Item

Selecting Help will run the on-line help mechanism of XFERPRO. You will be placed in the index section which allows you to easily jump to any topic of interest.


Commands Menu Item

Selecting the Commands item provides details on the menus in XFERPRO.


Procedures Menu Item

Selecting this item provides details on how to use XFERPRO for Encoding or Decoding.


Keyboard Menu Item

Selecting this item provides details on using the Keyboard Short-Cuts, i.e. the hot-keys.


Using help Menu Item

Selecting Using help provides details on using the help system itself.


About Menu Item

Selecting About will cause XFERPRO to display the version of this software, copyright information, and the location to send the order and amount of registration fee.


Technical Support Menu Item

Selecting Technical Support provides information on how to contact Sabasoft for technical support.


Can’t Encode Menu Item

Selecting Can’t Encode will cause XFERPRO to call up the on-line help with common problems and suggestions for dealing with encoding failures. (see Common Causes of Encoding Failures).


Can’t Decode Menu Item

Selecting Can’t Decode will cause XFERPRO to call up the on-line help with common problems and suggestions for dealing with decoding failures (see Common Causes of Decoding Failures).


Type-in ORDER FORM Menu Item

Selecting On-Line ORDER FORM will cause XFERPRO to display an integrated order form which can be typed-in while running XFERPRO (i.e. on line).  This order form automatically calculates the order price from the items selected.

There are several options, arranged from fastest to slowest delivery time:

1) 	Log into the Sabasoft web site and order online with your credit card by selecting the Online button in the dialog box. Immediate download of the registered XFERPRO is available. Note that you must have a browser and an internet connection capability for this to work. Encrypted forms are used for security purposes so therefore your browser must support encryption.

1) 	E-mail the form by selecting E-mail button in the dialog box. Your order will be e-mailed to Sabasoft for processing. Your credit card number is encrypted for security purposes.

1) 	Print the form by selecting Print button in the dialog box. Then mail (postal) or FAX the printed form to the location shown on the form.


Hand-written ORDER FORM Menu Item

Selecting Hand-written ORDER FORM will cause XFERPRO to display the order form which is ready to print and write-in by hand.  Print the form by selecting File | Print Topic from the menu.


Register Menu Item

Selecting Register will cause XFERPRO to display the dialog box in which you can enter your name and password to stop the registration reminder screens. XFERPRO will indicate whether or not the registration information entered has passed its validity test.

This information is entered only after purchase of this program. If you have received a disk, you need not enter this information; just re-install from that disk. Registered versions obtained on disk will have this item permanently disabled since this version type needs no registration password.


ASP Ombudsman Menu Item

See the Association of Shareware Professionals Ombudsman section.


Keyboard

The following hot keys are defined for XFERPRO.

Hot Key	Command/Procedure

Control-C	Encode to Clipboard.

Control-V	Decode from Clipboard.

F1	Access on-line help file contents (this information!).

Shift-F1	Display the About dialog box.

F2	Encode to File.

Shift-F2	Encode to E-mail.

F3	Decode from File.

Shift-F3	Decode from E-mail.

F5	General Configuration of XFERPRO for its file handling and window display characteristics of operation

F6	Encoding Configuration of XFERPRO for the encode operation.

F7	Decoding Configuration of XFERPRO for the decode operation.

F8	Display the electronic on-line XFERPRO order form.

Shift-F8	Display the XFERPRO ORDER FORM for hand-written data entry.

F9	Displays information on how to obtain technical support.

Shift-F9	Display the Registration dialog box to enter your registration information (shareware version only).

F10	Exit XFERPRO.


System Requirements and Resource Usage

The following topics explain what demands XFERPRO places on your computer system.

CPU Instruction Set

Windows Operating Systems and Modes

Disk Usage

Memory Usage


CPU Instruction Set

XFERPRO was written for Windows equipped PCs using the 80486 instruction set and will only work on PCs using 80486, 80486DX, 80486DX2, 80486SX, Pentium, Pentium Pro or compatible processors.


Windows Operating Systems and Modes

XFERPRO runs under Microsoft Windows 95 and Windows NT as a 32-bit application.

XFERPRO will not run under Windows 3.1/3.11.


Disk Usage

XFERPRO uses approximately 500K of disk space.  The exact amount depends on your disk's cluster size.  The RTF file for this manual takes approximately an additional 400K. If you don't know about your cluster size, don't worry about it.


Memory Usage

While running, XFERPRO uses about 100K of memory plus memory equivalent to the size of the encoded or decoded file, depending on whether encoding or decoding is being performed, respectively.


General Operating Information

The following topics contain miscellaneous information which can be useful in understanding various aspects of XFERPRO’s operation.

DOS and UNIX End Of Line (EOL) Characters

Temporary File Usage

Multiple Instances and File Sharing

File Permissions

Encoding Character for Binary Zero

Multiple Enclosures

Multiple Part File Limitations

Binhex Additional Implementation Information

File Name Conformance

MAPI E-mail Interface


DOS and UNIX End Of Line (EOL) Characters

For decoding, XFERPRO automatically handles any combination of DOS and UNIX end-of-line terminators; those with both Carriage Return (CR) and Line Feed (LF), or just CR or just LF. There is no need to pre-process encoded input to convert the UNIX format to DOS.

When generating encoded files, XFERPRO can be configured to use either a DOS or UNIX End of Line String.


Temporary File Usage

To allow multiple part decoding with the file parts in any order, XFERPRO creates temporary files in the Windows temporary file directory.  This means that temporary file directory must have sufficient free space of at least the size of all the input files combined.


Multiple Instances and File Sharing

XFERPRO allows multiple instances of itself.  Since Windows is a multi-tasking system, it is possible that the same encoded or decoded file might be used by XFERPRO or other applications at one time. This could happen if the user chooses the same file name twice by mistake. To solve this problem, XFERPRO takes advantage of Windows file locking mechanism and does not allow any other application to write the XFERPRO output file as it is being created. However, multiple read accesses to the input files are allowed.


File Permissions

When Decoding, the permissions identified in the encoded file are ignored.  The output file is always created with read and write permissions for all. For Windows NT users, the default permissions of your login are used.

To be consistent with the UNIX versions of encoding, the file permission data are set to owner read/write, with read-only permission for group and other (file mode "644").


Encoding Character for Binary Zero

Although the UU encoding specification allows either an ASCII space (hex character 20) or a ASCII back-quote (` - hex character 60), XFERPRO will always UU encode its binary zero (0) output using the back-quote (`) character.  This allows for easier viewing and e-mailing of the UU encoded file.

For decoding, XFERPRO will accept input files with either the space or the back-quote character without problems.

XX encoding always uses the plus '+' character for binary 0.

MIME encoding always uses an uppercase 'A' character for binary 0.


Multiple Enclosures

XFERPRO will support multiple enclosure decoding which means that several encoded items may be present in a single physical input file being decoded. When multiple items exist, XFERPRO will automatically decode each one in turn without requiring any additional configuration.

For encoding, multiple enclosures are also provided. To obtain this, just select more than one file to encode and the encoded output file will contain the many selected items.

Multiple enclosures are supported when using the UU or XX encoding and decoding methods only when single file format is used. Multiple enclosures are also supported for MIME and Binhex encoding and decoding methods.


Multiple Part File Limitations

For the decoding operation, XFERPRO allows the individual parts of a multiple part encoded binary file to exist in any order, e.g. not be restricted to sequential order.  However, all the parts of one encoded binary file must be present in one or more encoded input files to be decoded.

For multiple part formats (see File Formats for details), no more than one binary file's worth of encoded data can be present in any set of encoded input files (i.e. Multiple Enclosures are not supported).

XFERPRO will detect and report any violations of these requirements should they occur.


Binhex Additional Implementation Information

Since Binhex 4.0 was originally designed for the Macintosh, XFERPRO operates on the relevant portions of the file for a Windows-based PC. To achieve maximum interoperability, the Binhex encoded data is “wrapped” in a MIME header format using a standard content-type/subtype of “application/mac-binhex40”. XFERPRO will support decoding of Binhex files if the MIME header is present or not. Other details of Binhex 4.0 support are listed below.

Macintosh File Forks

Transferring Files between a PC and a Macintosh

CRC-16

Macintosh File Creator and File Type

Run Length Encoding


Macintosh File Forks

For encoding, the PC file is put into the data fork section of the Binhex encoded output. The resource fork is always empty.

For decoding, only the data fork is decoded. The resource fork is ignored.

Understanding the file fork concept is not critical in operating XFERPRO. The resource fork is an Apple Macintosh operating system component which does not have any meaning to PCs.


Transferring Files between a PC and a Macintosh

When transferring Binhex encoded files from a PC to a Macintosh, the Macintosh user, after decoding, cannot just double click the decoded file to start the appropriate application. The Macintosh user must first start an application which can read the decoded file and then use the Open command to read the file. This is because the PC does not create a resource fork in the Binhex encoded file.

When transferring Binhex encoded files from a Macintosh to a PC, typically the PC user must rename the file to acceptable DOS conventions, including the filename extension. If the filename extension is chosen to match an application that will read the Macintosh file, double clicking the decoded file will start the appropriate application. If the filename extension is not associated to an application on the PC, then the PC user must start an application that can read the Macintosh file and use its File | Open command to read the Macintosh file.


CRC-16

Full support of the CRC-16 in both the header and data forks is provided. The CRC-16 is present in resource fork when XFERPRO encodes a file. When decoding, the resource fork CRC-16 is ignored since the resource fork is not decoded.


Macintosh File Creator and File Type

The Macintosh file type is set to the extension of the file being encoded. If there is no extension, the file type is set to “data”. The file creator is set to “XFRP”.


Run Length Encoding

For decoding, the Run Length Encoding (RLE) compression mechanism is fully supported.

For encoding, the RLE compression mechanism is not implemented. This will still inter-operate with any other standard Binhex decoder. Since most Binhex files are already compressed, it is unlikely that any encoded file size savings will be realized.


File Name Conformance

During Decoding, XFERPRO will automatically process the filename such that it conforms to the Windows long file name format. Any invalid filename characters will be converted to underscores ‘_’. For Encoding, XFERPRO uses the Windows long file name format, and therefore the responsibility of file name conformance lies with whatever decoding program is used on the receiving end.


MAPI E-mail Interface

XFERPRO uses the Windows Mail Application Programming Interface (MAPI) for direct sending and receiving of files via e-mail. Your system must have installed a MAPI compliant e-mail system to use this capability in XFERPRO. Windows Messaging, which is an installable option with Windows 95 or NT, provides this basic functionality.


File Formats

Ideally, only one file format would be required for encoded files. However, the multiple part encoded formats were designed to allow a large file transfer by encoding one large file into multiple parts for transmission across a network.  This is necessary because the E-mail on many systems cannot handle more than 64K of data (or less) for any one file.  Today, large binary files are common which would prohibit sending them via E-mail unless the multiple part format is used.  The file formats supported by XFERPRO are summarized and briefly described below.  In the examples, it is assumed that three parts are used and that they are in order (not a requirement for XFERPRO).

File Format Support Summary

Single File Format (UU or XX Encoding)

Single File Format (MIME Encoding)

Single File Format (Binhex 4.0 Encoding)

SimTel File Format

Comp.binaries Usenet Newsgroup File Format

Alt.binaries Usenet Newsgroup File Format 1

Alt.binaries Usenet Newsgroup File Format 2

Alt.binaries Usenet Newsgroup File Format 3

Alt.binaries Usenet Newsgroup File Format 4

UNIX Shell Archive File Format

DOS uuencode/uudecode R.E.M. v5.24 File Format

X-File File Format

UUXFER version 2.0 File Format

WINCODE version 2.3 File Format

POST version 1.2.0 File Format

POST version 2.0.1 File Format

xmitBin File Format

BITFTP Archive File Format

Squirrel 3.0 File Format

America On-Line File Format


File Format Support Summary

The following table describes the support provided for each file format. The Encode column indicates if XFERPRO can encode information into the listed file format, the Decode column indicates if XFERPRO can decode information contained in the file format, the Methods column indicates what method of encoding / decoding is supported (see How does XFERPRO Work?), the Checksum column indicates if checksums on encoded data is supported (see Generate Checksums on Encoded Output and Test Checksum Data if Present), and the Multiple Enclosures column indicates if multiple encoded files are allowed in a single physical input file for decoding (see Multiple Enclosures). A ‘Y’ indicates the capability is supported, a blank entry indicates the capability is not supported.

File Format	Encode	Decode	Methods	Checksum	Multiple Enclosures
Single File	Y	Y	UU, XX	Y	Y
Single File	Y	Y	MIME		Y
Single File	Y	Y	Binhex 4.0	CRC-16	Y
SimTel File Format	Y	Y	UU, XX	Y
Comp.binaries Usenet Newsgroup	Y	Y	UU, XX	Y
Alt.binaries Usenet Newsgroup 1	Y	Y	UU, XX	Y
Alt.binaries Usenet Newsgroup 2	Y	Y	UU, XX	Y
Alt.binaries Usenet Newsgroup 3	Y	Y	UU, XX	Y
Alt.binaries Usenet Newsgroup 4	Y	Y	UU, XX	Y
UNIX Shell Archive	Y	Y	UU, XX
DOS R.E.M v5.24	Y	Y	UU, XX	Y
X-File File Format	Y	Y	UU, XX	Y
UUXFER version 2.0	Y	Y	UU, XX	Y
WINCODE version 2.3	Y	Y	UU, XX	Y
POST version 1.2.0	Y	Y	UU, XX	Y
POST version 2.0.1		Y	UU, XX
xmitBin	Y	Y	UU, XX	Y
BITFTP Archive	Y	Y	UU, XX	Y
Squirrel 3.0		Y	UU, XX
America On-Line		Y	UU, XX


Single File Format (UU or XX Encoding)

begin 644 archive.zip

Encoded data goes here

end


Single File Format (MIME Encoding)

MIME-Version: 1.0

Content-Type: APPLICATION/octet-stream; name="archive.zip"

Content-Transfer-Encoding: BASE64

Content-Description:

Encoded data goes here

NOTE: blank lines after data indicate the end of encoded data


Single File Format (Binhex 4.0 Encoding)

MIME-Version: 1.0

Content-Type: multipart/mixed; boundary="boundary_string"

--boundary_string

Content-Type: application/mac-binhex40; name="archive.zip"

Content-Description: archive.zip binhex encoded by xferpro

Content-Disposition: attachment; filename="archive.zip"

(This file must be converted with BinHex 4.0)

:Encoded data goes here:

--boundary_string--


SimTel File Format

------------ Part 1 of 3 ------------

begin 644 archive.zip

Encoded data goes here

-------- End of part 1 of 3 --------

------------ Part 2 of 3 ------------

Encoded data goes here

-------- End of part 2 of 3 --------

------------ Part 3 of 3 ------------

Encoded data goes here

end

-------- End of part 3 of 3 --------


Comp.binaries Usenet Newsgroup File Format

Archive-name: archive/part01

BEGIN--cut here--cut here--

begin 644 archive.zip

Encoded data goes here

END--cut here--cut here--

Archive-name: archive/part02

BEGIN--cut here--cut here--

Encoded data goes here

END--cut here--cut here--

Archive-name: archive/part03

BEGIN--cut here--cut here--

Encoded data goes here

end

END--cut here--cut here--


Alt.binaries Usenet Newsgroup File Format 1

NOTE: For the four following alt.binaries formats, XFERPRO will accept decoding "Subject:" lines with any of the following formats. For encoding, however, the output is exactly as shown in the examples below. 'X' identifies the current part number and 'Y' identifies the total number of parts.

The filename may have an extension (filename.ext), no extension (filename or description) or be preceded by a dash '-' (- filename.ext).

The parts count identifiers can be in any of the formats (X/Y), (partX/Y), (part X/Y), (part X of Y), [X/Y], [partX/Y], [part X/Y], or [part X of Y].

Subject: archive.zip (1/3)

e-mail header data goes here

BEGIN --- CUT HERE --- Cut Here --- cut here --- archive.zip

begin 644 archive.zip

Encoded data goes here

--

Subject: archive.zip (2/3)

e-mail header data goes here

BEGIN --- CUT HERE --- Cut Here --- cut here --- archive.zip

Encoded data goes here

--

Subject: archive.zip (3/3)

e-mail header data goes here

BEGIN --- CUT HERE --- Cut Here --- cut here --- archive.zip

Encoded data goes here

end

--


Alt.binaries Usenet Newsgroup File Format 2

Subject: archive.zip [part 1/3]

e-mail header data goes here

BEGIN------------------>  cut here  <------------------------

begin 644 archive.zip

Encoded data goes here

END-------------------->  cut here  <------------------------

Subject: archive.zip [part 2/3]

e-mail header data goes here

BEGIN------------------>  cut here  <------------------------

Encoded data goes here

END-------------------->  cut here  <------------------------

Subject: archive.zip [part 3/3]

e-mail header data goes here

BEGIN------------------>  cut here  <------------------------

Encoded data goes here

end

END-------------------->  cut here  <------------------------


Alt.binaries Usenet Newsgroup File Format 3

Subject: archive.zip [1/3]

NOTE: blank lines after e-mail header indicate start of encoded data

begin 644 archive.zip

Encoded data goes here

--

Subject: archive.zip [2/3]

NOTE: blank lines after e-mail header indicate start of encoded data

Encoded data goes here

--

Subject: archive.zip [3/3]

NOTE: blank lines after e-mail header indicate start of encoded data

Encoded data goes here

end

--


Alt.binaries Usenet Newsgroup File Format 4

Subject: archive information text [1/3]

e-mail header data goes here

BEGIN----------------------CUT HERE--------------------------

begin 644 archive.zip

Encoded data goes here

END------------------------CUT HERE--------------------------

Subject: archive information text [2/3]

e-mail header data goes here

BEGIN----------------------CUT HERE--------------------------

Encoded data goes here

END------------------------CUT HERE--------------------------

Subject: archive information text [3/3]

e-mail header data goes here

BEGIN----------------------CUT HERE--------------------------

Encoded data goes here

end

END------------------------CUT HERE--------------------------


UNIX Shell Archive File Format

#!/bin/sh

#

# This is a shell archive. Cut everything off before

# the #!/bin/sh and feed the rest to /bin/sh

#

part=1

file=archive.zip

sed -e '/^BEGIN/d' -e '/^END/d' << \End_of_Section > $file.uue.$part

BEGIN------------ archive.zip ------------ part 1/3 ---

begin 644 archive.zip

Encoded data goes here

END-------------- archive.zip ------------ part 1/3 ---

End_of_Section

echo $file, part $part extracted.

if [ `echo $file.uue.[0-9]* | wc -w` = 3 ]; then

cat $file.uue.* | uudecode

if [ $? -gt 0 ]; then

  echo Error encountered when uudecoding pieces...

exit 1

fi

echo $file successfully uudecoded. Removing uuencoded pieces.

rm $file.uue.[0-9]*

fi

exit

#!/bin/sh

#

# This is a shell archive. Cut everything off before

# the #!/bin/sh and feed the rest to /bin/sh

#

part=2

file=archive.zip

sed -e '/^BEGIN/d' -e '/^END/d' << \End_of_Section > $file.uue.$part

BEGIN------------ archive.zip ------------ part 2/3 ---

Encoded data goes here

END-------------- archive.zip ------------ part 2/3 ---

End_of_Section

echo $file, part $part extracted.

if [ `echo $file.uue.[0-9]* | wc -w` = 3 ]; then

cat $file.uue.* | uudecode

if [ $? -gt 0 ]; then

  echo Error encountered when uudecoding pieces...

exit 1

fi

echo $file successfully uudecoded. Removing uuencoded pieces.

rm $file.uue.[0-9]*

fi

exit

#!/bin/sh

#

# This is a shell archive. Cut everything off before

# the #!/bin/sh and feed the rest to /bin/sh

#

part=3

file=archive.zip

sed -e '/^BEGIN/d' -e '/^END/d' << \End_of_Section > $file.uue.$part

BEGIN------------ archive.zip ------------ part 3/3 ---

Encoded data goes here

end

END-------------- archive.zip ------------ part 3/3 ---

End_of_Section

echo $file, part $part extracted.

if [ `echo $file.uue.[0-9]* | wc -w` = 3 ]; then

cat $file.uue.* | uudecode

if [ $? -gt 0 ]; then

  echo Error encountered when uudecoding pieces...

exit 1

fi

echo $file successfully uudecoded. Removing uuencoded pieces.

rm $file.uue.[0-9]*

fi

exit


DOS uuencode/uudecode R.E.M. v5.24 File Format

section 1 of uuencode 5.24 of file archive.zip

NOTE: blank lines indicate start of encoded data

begin 644 archive.zip

Encoded data goes here

NOTE: blank lines indicate end of encoded data

section 2 of uuencode 5.24 of file archive.zip

NOTE: blank lines indicate start of encoded data

Encoded data goes here

NOTE: blank lines indicate end of encoded data

section 3 of uuencode 5.24 of file archive.zip

NOTE: blank lines indicate start of encoded data

Encoded data goes here

end

NOTE: blank lines indicate end of encoded data


X-File File Format

X-File-Name: archive.zip

X-Part: 1

X-Part-Total: 3

BEGIN------------------------cut here------------------------

begin 644 archive.zip

Encoded data goes here

END------------------------cut here--------------------------

X-File-Name: archive.zip

X-Part: 2

X-Part-Total: 3

BEGIN------------------------cut here------------------------

Encoded data goes here

END------------------------cut here--------------------------

X-File-Name: archive.zip

X-Part: 3

X-Part-Total: 3

BEGIN------------------------cut here------------------------

Encoded data goes here

end

END------------------------cut here--------------------------


UUXFER version 2.0 File Format

archive.zip    section  1/3   UUXFER X.Y

BEGIN----------------------CUT HERE--------------------------

begin 644 archive.zip

Encoded data goes here

END------------------------CUT HERE--------------------------

archive.zip    section  2/3   UUXFER X.Y

BEGIN----------------------CUT HERE--------------------------

Encoded data goes here

END------------------------CUT HERE--------------------------

archive.zip    section  3/3   UUXFER X.Y

BEGIN----------------------CUT HERE--------------------------

Encoded data goes here

end

END------------------------CUT HERE--------------------------


WINCODE version 2.3 File Format

section 1/3  file archive.zip  [ Wincode vX.Y ]

NOTE: blank lines indicate start of encoded data

begin 644 archive.zip

Encoded data goes here

NOTE: blank lines indicate end of encoded data

section 1/3  file archive.zip  [ Wincode vX.Y ]

section 1/3  file archive.zip  [ Wincode vX.Y ]

NOTE: blank lines indicate start of encoded data

Encoded data goes here

NOTE: blank lines indicate end of encoded data

section 2/3  file archive.zip  [ Wincode vX.Y ]

section 3/3  file archive.zip  [ Wincode vX.Y ]

NOTE: blank lines indicate start of encoded data

Encoded data goes here

end

NOTE: blank lines indicate end of encoded data

section 3/3  file archive.zip  [ Wincode vX.Y ]


POST version 1.2.0 File Format

POST V1.2.0 archive.zip (Part 1/3)

BEGIN -- Cut Here -- cut here

begin 644 archive.zip

Encoded data goes here

END -- Cut Here -- cut here

POST V1.2.0 archive.zip (Part 2/3)

BEGIN -- Cut Here -- cut here

Encoded data goes here

END -- Cut Here -- cut here

POST V1.2.0 archive.zip (Part 3/3)

BEGIN -- Cut Here -- cut here

Encoded data goes here

end

END -- Cut Here -- cut here


POST version 2.0.1 File Format

POST V2.0.1 archive.zip (Part 1/3)

POST Crc: 0xnnnnnnnn Size: nnnnnn

BEGIN -- Cut Here -- cut here

begin 644 archive.zip

Encoded data goes here

END -- Cut Here -- cut here

POST V2.0.1 archive.zip (Part 2/3)

POST Crc: 0xnnnnnnnn Size: nnnnnn

BEGIN -- Cut Here -- cut here

Encoded data goes here

END -- Cut Here -- cut here

POST V2.0.1 archive.zip (Part 3/3)

POST Crc: 0xnnnnnnnn Size: nnnnnn

BEGIN -- Cut Here -- cut here

Encoded data goes here

end

END -- Cut Here -- cut here


xmitBin File Format

BEGIN --- CUT HERE --- Cut Here --- cut here --- archive.zip 1/3

begin 644 archive.zip

Encoded data goes here

END --- CUT HERE --- Cut Here --- cut here --- archive.zip 1/3

BEGIN --- CUT HERE --- Cut Here --- cut here --- archive.zip 2/3

Encoded data goes here

END --- CUT HERE --- Cut Here --- cut here --- archive.zip 2/3

BEGIN --- CUT HERE --- Cut Here --- cut here --- archive.zip 3/3

Encoded data goes here

end

END --- CUT HERE --- Cut Here --- cut here --- archive.zip 3/3


BITFTP Archive File Format

Subject: archive.zip, Part 001 of 003 (uuencoded)

The following line should contain ASCII characters 0x20-0x5F

`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_

begin 644 archive.zip

Encoded data goes here

Subject: archive.zip, Part 002 of 003 (uuencoded)

The following line should contain ASCII characters 0x20-0x5F

`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_

Encoded data goes here

Subject: archive.zip, Part 003 of 003 (uuencoded)

The following line should contain ASCII characters 0x20-0x5F

`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_

Encoded data goes here

end


Squirrel 3.0 File Format

------- begin of archive.zip -- uuencoded -- part 1 of 3 -------

begin 644 archive.zip

Encoded data goes here

------- end of archive.zip -- uuencoded -- part 1 of 3 -------

------- begin of archive.zip -- uuencoded -- part 2 of 3 -------

Encoded data goes here

------- end of archive.zip -- uuencoded -- part 2 of 3 -------

------- begin of archive.zip -- uuencoded -- part 3 of 3 -------

Encoded data goes here

end

------- end of archive.zip -- uuencoded -- part 3 of 3 -------


America On-Line File Format

Subj: #1(3) archive.zip

Mail Split By AOL Gateway

------- cut here --------

begin 644 archive.zip

Encoded data goes here

------- cut here --------

Subj: #2(3) archive.zip

Mail Split By AOL Gateway

------- cut here --------

Encoded data goes here

------- cut here --------

Subj: #3(3) archive.zip

Mail Split By AOL Gateway

------- cut here --------

Encoded data goes here

end

------- cut here --------


If You Encounter Problems

If you encounter problems, check the following for more information. After attempting to solve the problem as indicated in the suggestions, you may contact Sabasoft, Inc. for technical support.  See Contacting Sabasoft. If you do require technical support, please provide explicit details of what you tried to do and the resulting messages and system behavior seen.

Common Causes of Decoding Failures

How Do I Manually Decode Files?

Common Causes of Encoding Failures

General Troubleshooting Tips


Common Causes of Decoding Failures

There are many possible causes for decoding failures. These are most likely related to multiple part decoding.

Before troubleshooting, two common multiple part configuration issues should be understood.

1)	If you are decoding multiple part formats and have the various encoded parts in separate files, make sure XFERPRO is configured to decode multiple files as one large multiple part file. See Decode Multiple Input Files as 1 for details. This is the default and should therefore need to be changed only if the defaults have been modified.

2)	Make sure that all files to be decoded are selected, either through drag-and-drop or via the File | Decode dialog box. XFERPRO will not search the current directory for specially numbered file names. See also Decode Multiple Input Files as 1 for details.

Cannot Find ...?

Missing Parts for Multiple Part Files

The Decoded File is Still “Garbled” (Encoded) After Decoding Once

Unable to Determine File Format

Invalid UU/XX/MIME/Binhex Encoded Data

Checksum Error Details

The Decoded File Doesn't Work in My Application when I Forced Decoding

What if the Output File Seems Corrupt


Cannot Find ...?

The various types of "Cannot Find" errors are:

a.	Any Encoding Header Information

b.	Start of Encoded Data

c.	End of Encoded Data

d.	Separator Indicating Start of Data

e.	Trailer to Match Header

f.	Missing 'begin' or 'end' Statement

These messages result from XFERPRO being unable to:

a.	Automatically determine the decoding format, which is by far the most common, or

b.	Find the user specified decoding format (Configure | Decode options).

Encoded files are all straight text, and therefore any text editor can read them. If a text editor cannot read the file being decoded, it cannot be decoded. Make sure your text editor can read files of the size being decoded.

There are several possible causes of the "Cannot Find" set of errors, enumerated below.

An encoding format which cannot be automatically detected.

This is most common with multiple part encoded files. Unfortunately, there are no standards for such encoding and therefore support for all possible formats is not possible. The method to determine this is to look in the File Formats section of the on-line help and compare the supported formats to the file being decoded. You can look at the file being decoded with a text editor or word processor which supports text input.

The file is not encoded.

Use your text editor to see if you can read the encoded file. If there are any unreadable or non-printing characters (except carriage return and linefeed), then the file cannot be decoded. Look in the What Does Encoded Data Look Like? section for more details.

The file is not text.

Make sure the encoded file was saved as text only, and not in any word processor or special filing format. Most e-mail or on-line programs have a "Save As" feature which allows you to select "text format."

The file has been truncated.

Due to size limitations and performance concerns of some e-mail or on-line software, the entire message (in encoded format) is sometimes not completely retrieved automatically. For example, AOL requires you to press a "More" button to retrieve long Usenet articles. Make sure you have the complete encoded file before decoding. Truncated files cannot be decoded.

When prompted with these errors, try using the "Try All Formats" option after verifying the problem is not one of the above. This will cause decoding using all supported formats to be attempted. If this fails, see How Do I Manually Decode Files?.


Missing Parts for Multiple Part Files

Decoding cannot be completed unless all parts of a multiple part encoded file are available. When this error is reported, not all parts required for Decoding were selected for Decoding. Make sure all parts of the multiple part file are selected when decoding. Ensure Decode Multiple Input Files as 1 is enabled in the Configure | Decode dialog box.


The Decoded File is Still “Garbled” (Encoded) After Decoding Once

Some e-mail applications automatically encode a file when an "attach file" feature (if available) is used. If the sender first encoded the file, then used the encoded output file as the e-mail attachment, the information will be encoded twice. This is unnecessary. Ask the sender to just attach the file without separately encoding it. It is also possible to reconstitute the original file from the sender by decoding the original file and then again decoding the resulting file from the first decoding operation.


Unable to Determine File Format

Due to the plethora of non-standard multiple part file formats, XFERPRO may not be able to automatically determine where the encoded data starts and ends in the input file. In this case, the user is prompted to retry decoding. The choices are to retry with a particular multiple part format or retry with all formats.

First, retry with all formats. XFERPRO will attempt all supported File Formats, one after another. If XFERPRO succeeds, in its opinion, at decoding successfully, a message indicating so will be displayed. However, in this case double check the output file created since it’s possible that XFERPRO was fooled by an unsupported multiple part format.

If decoding still fails after trying all formats, XFERPRO probably doesn’t support that format.

You can print a portion of the encoded files and compare it to the formats supported in XFERPRO, as described in File Formats. This will indicate whether or not XFERPRO can support the file to automatically decode. If you see a format that appears to match, it’s possible that other e-mail header data is spoofing the automatic format detection. Choose the specific format, versus try all formats, when retrying to decode again.

If, after comparing the input file format to those supported by XFERPRO, you know that the format of your encoded input file is not one of those supported by XFERPRO, then you must manually put the encoded data portion only of each file part into the correct order for XFERPRO to work. To do this, see How Do I Manually Decode Files? Use any standard text editor, such as Windows NOTEPAD or DOS's EDIT, to do this. For very large files which EDIT or NOTEPAD cannot handle, you’ll need a third party utility such as Emacs for Windows (mewin.exe) or Programmer’s File Editor (pfe.exe).

In any case, if you get XFERPRO to indicate successful decoding after forcing it, make sure to double-check the output file as per the What if the Output File Seems Corrupt section.


Invalid UU/XX/MIME/Binhex Encoded Data

Encoding information for internet transfer is done via specific translation rules. These rules are commonly known as UU, XX, MIME base64, and Binhex encoding. When decoding, these rules are checked to ensure integrity of the encoded file. When these rules are broken, it is reported as invalid data. Common causes of this are:

a.	Errors during transmission or downloading. The only solution to this is to get the file again.

b.	Some e-mail systems truncating spaces at the end of a line, which is possible when UU encoding is used. Forced decoding can fix this error.

c.	Inability to automatically detect the decoding File Formats which results in e-mail or Usenet header information (used by the internet) being incorrectly decoded. See above on how to check for this.

During decoding, XFERPRO checks the encoded data for validity. If the input file contains invalid encoded data, XFERPRO will show the user the offending line of data and will prompt the user with various options as described below.

Dialog Box Button	Action
Skip This Invalid Line	Skip decoding of the offending line but continue with the remaining data.
Skip All Invalid Lines	Skip decoding of the offending line and also skip decoding of any subsequent line with invalid encoded data. This sometimes decodes an entire file successfully (if multiple parts are in sequential order) because the chances of e-mail header data being in proper format is small. Use this with caution as the output file may be corrupted!
Decode This Invalid Line*	Decode the offending line in spite of having errors. This may cause a corrupted output file!
Decode All Invalid Lines*	Same as Decode Line but do this for any subsequent line of invalid encoded data. This may cause a corrupted output file!
Abort Decode	Stop decoding this file and be ready for new files to decode.

*Note: Decode Line and Decode All have been provided because some e-mail systems truncate lines with trailing spaces, which are possible when using UU encoding. XFERPRO assumes the remaining (i.e. missing) data on the line are spaces and decodes the data as such. This may be an incorrect assumption, which could result in corrupt output (decoded) files! Use this feature with great caution.


Checksum Error Details

To help detect if the encoded file was corrupted during transmission, XFERPRO may test option checksum or CRC data if contained in the encoded file (see Test Checksum Data if Present). If there is checksum data present and XFERPRO’s calculation does not match what was sent along with the encoded file, the user is warned of this potential problem. Since the checksum is a 16-bit number, there exists a small (1/65535th) chance that the file may be corrupted even though the checksum is correct or that the checksum data itself got corrupted and the file is not. With checksum errors present, the output (decoded) file is still generated, but should be tested for corruption by the application which will use the decoded file. XFERPRO cannot determine if the decoded output file is corrupt, only if the encoded input file seems corrupt.


The Decoded File Doesn't Work in My Application when I Forced Decoding

Forced decoding is provided as a work-around for some e-mail systems which strip off blanks (spaces) at the end of lines. Since a space is a valid character for UU encoding, forced decoding assumes that spaces at the end of the line (up to CR/LF) were truncated and decodes with the implied space characters. Since it is possible that the file was actually corrupted during transmission, forced decoding is dangerous and could result in a corrupt (i.e. useless) decoded file. The best way to ensure correct decoding is to re-obtain the encoded file and try again.


What if the Output File Seems Corrupt

Typically XFERPRO is used to send binary files containing compressed archives.  Those files typically end in extensions of .ZIP, .ARC, .LZH, or .ZOO.  If you find that XFERPRO reports a complete and correct decoding but your archive file has problems (e.g. checksum errors), then it is likely that XFERPRO cannot filter any e-mail header information contained within the file or the multiple part format used is not supported by XFERPRO.

Try the suggestions in How Do I Manually Decode Files?


How Do I Manually Decode Files?

Someday the internet will be less arcane. A little experience makes the manual decoding process reasonably simple, although a bit manually intensive. In the mean time, if the automatic decoding features don't work, try the following:

1.	Get a text editor that can handle the size of files being decoded.

2.	Backup the original encoded file(s) in case you want to try more than once.

3.	Print out or view the "File Formats" section of the on-line help to determine what "header data" looks like. You can also examine actual encoded data in the What Does Encoded Data Look Like? Section.

4.	Edit the encoded file(s) and look for the encoded data and header information. The encoded data will be text characters but gibberish to the human. The header data is text and readable by the human. If you can read the text and it's not header data, then it's not encoded data and should be removed. Of course, keep the header data as shown in the File Formats section of the on-line help.

5.	Put all encoded data into one physical file, with no blank lines separating the encoded data. If there are multiple parts, remove the header data indicating more than one part, keeping only the first part information (as shown in File Formats). Make sure the file is saved as text only.

6.	Decode the newly saved text file.

If this still doesn't work, ask the sender to provide you a file UU or Binhex encoded with only one part. These are the most interoperable methods.

What Does Encoded Data Look Like?


What Does Encoded Data Look Like?

To help you determine what is encoded data and what is header data, the following text has been encoded in four ways. Look at the respective section below to see how the same information looks when encoded in each of the different methods. The original filename was "Sample.txt".

Sample.txt (original input file to be encoded)

The quick brown fox jumped over the lazy dogs back.

01234567890  09876543210

!@#$%^&*()_=[]{}

This file will help illustrate the view of different encoding schemes.

END OF FILE

UU Encoded

begin 644 Sample.txt

M5&AE('%U:6-K(&)R;W=N(&9O>"!J=6UP960@;W9E<B!T:&4@;&%Z>2!D;V=S

M(&)A8VLN#0HP,3(S-#4V-S@Y,""@(#`Y.#<V-30S,C$P#0HA0",D)5XF*B@I

M7SU;77M]#0I4:&ES(&9I;&4@=VEL;"!H96QP(&EL;'5S=')A=&4@=&AE('9I

M97<@;V8@9&EF9F5R96YT(&5N8V]D:6YG('-C:&5M97,N#0I%3D0@3T8@1DE,

%10T*#0H

end

XX Encoded

begin 644 Sample.txt

hJ4VZ653pOKBf647mPrRi64NjS0-eRKpkNKEUPrNZQW-oO4IUP43uSG-YPqRn

h647VMqgi1EckAH6nB1IqBnUtA00U61+tC1QqBHEnAX2k1EcVE0AY7Jsa8WUd

hLnpPLLhx1EdIO4Zn64NdP4IURqZgP0-cNKlk64ZgP5JnR57VR4IUR4VZ65Nd

hNLQUPqMUN4ZaNaJmNKto64JiMqxYOKtb65BXO4JhNLAi1Ed3HYEUHoMUFYZA

3FEo81Ec

end

MIME base64 Encoded

MIME-Version: 1.0

Content-Type: APPLICATION/octet-stream; name="Sample.txt"

Content-Transfer-Encoding: BASE64

Content-Description:

VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2dz

IGJhY2suDQowMTIzNDU2Nzg5MCCgIDA5ODc2NTQzMjEwDQohQCMkJV4mKigp

Xz1bXXt9DQpUaGlzIGZpbGUgd2lsbCBoZWxwIGlsbHVzdHJhdGUgdGhlIHZp

ZXcgb2YgZGlmZmVyZW50IGVuY29kaW5nIHNjaGVtZXMuDQpFTkQgT0YgRklM

RQ0KDQo=

Binhex Encoded

(This file must be converted with BinHex 4.0)

:#P0"69"-45j8@&3!9%9B9%*Z5(%!!!!!!,N!!!!!85e8D'8JFA9TBfXJBR*[Gfi

JCQpi)'TeEA"PC#"[GQ9b)(4SC5"XBATj)'4[Ch-JBQ&MDbi0#M!a-M-d06Bh1$N

`)+!J-$Ni0cBe0$-b-6!0#L&!)b3PALBU+#PI29YGHhd0#P4SDA-JCQPXC5"hD@a

X)'KPE(!JD@aXGA0dFQ&dC5"dD'8JGQPPGb"[CL"ND@CQCA*PER3JC@jMEf4TEQF

JFf0SC@ePFbi0#N914#"24L"'58a&$3S0#YE2!!!!:


Common Causes of Encoding Failures

There are a few common causes for encoding failures, usually resulting from a disk being full or not having write permissions to specific directories.

Can’t Read From or Can’t Write To

Encoded Files Never Leave the Outbox

Encoded Files via Command Line Never Sent


Can’t Read From or Can’t Write To

A.	The destination disk to which or the source disk from which the file to be encoded is full. Ensure there is at least 133% of the file to be encoded size. To encode a 100k file, you need at least 133k of available disk space, and some additional space if multiple part output is selected due to multiple parts file format overhead.

B.	The destination disk or directory for which the encoded file is to be stored is not writable. This is more common if you’re on a network which has per disk and per directory permissions. Make sure the destination disk and directory is writable by you.

C.	There are too many file open. Try closing other Windows applications and then retry the encoding process. You can look for FILES=nn in your CONFIG.SYS file. When running Windows, it’s good to have at least FILES=40 or even FILES=60 when running Windows with a network.


Encoded Files Never Leave the Outbox

XFERPRO relies on your e-mail program to do the job of sending encoded files. You may need to trigger your e-mail program to send the messages once XFERPRO has encoded and placed them in your Outbox. For example, Windows Messaging has an option to “Deliver Now”. This may also be an e-mail program configuration issue since improperly configured systems may not be able to send e-mail. Check with your e-mail program documentation as to procedures for triggering sending of messages.


Encoded Files via Command Line Never Sent

XFERPRO relies on your e-mail program to do the job of sending encoded files. To use the send encoded files via the command line capability, your e-mail program must be running at the time that XFERPRO is run using the -M Option (Encode to E-mail Recipients).


General Troubleshooting Tips

Many errors can occur in the process of sending encoded files and receiving decoded files. Most times these errors are not an XFERPRO problem but appear so since XFERPRO has to deal with the e-mail messages first. In many cases there are usage errors in operating the e-mail and Usenet programs as well. The following list contains commonly found troubles and the suggested solution to each. It is best to first deal with the more specific errors as explained previously in this section.

A.	The encoded file was not saved in pure ASCII format. Some programs, such as NetCruiser, WinCIM and word processors normally save the e-mail files in a non-ASCII format. In order for decoding to work, save the e-mail messages in straight ASCII format.

B.	The complete encoded file has not been downloaded or saved from your e-mail or Usenet news groups program. This may be due to size limits on e-mail systems, i.e. 64K on America On-Line, which will result in truncated messages. If the complete e-mail message cannot be received, it will be impossible to decode it. If possible, ask the sender to resend the file in smaller sized parts. In some cases, you may have to request your e-mail or Usenet news group system to send all of the data, i.e. America On-Line’s “more” button if the size exceeds 32K (but is less than 64K).

C.	The encoded file got corrupted in transmission. The checksum option helps, if available, for UU, XX, and MIME encoded files. Binhex encoded files have a built-in CRC to alleviate this problem. XFERPRO will detect and report any encoded file corruption if checksum or CRC data is present. If this happens, the only solution is to get the file again so a clean copy is available to decode.

D.	Getting only some parts of a multiple part file. XFERPRO will detect and report exactly what’s missing in this case. You may see a report of specific parts missing or an indication of the begin or end missing, which apply to the first part or last part, respectively. It will not be possible to decode unless all parts of the multiple part file are collected.

E.	The file format is not one that XFERPRO supports. Use the built-in retry mechanism to attempt decoding using all file formats. As a last result, edit the encoded file manually and strip out all e-mail header and signature line information as explained in How Do I Manually Decode Files?.


Technical Support

Questions about the operation of XFERPRO or problems encountered can be directed to Sabasoft, Inc. as indicated in Contacting Sabasoft. Please read the complete on-line manual before asking for technical support.

If you contact Sabasoft, please provide the following information:

1.	Program name and version,

2.	Operation being performed (decoding, encoding, installation, etc.),

3.	Explicit steps taken, exact error messages, and resulting output files,

4.	Information about any other programs used to obtain encoded files (for decoding), such as e-mail or Usenet programs, and

5.	If there was a General Protection Fault (GPF), provide a Dr. Watson log entry.

Technical support is provided via e-mail only. Telephone support is not provided.


Contacting Sabasoft

Please read the complete on-line manual before asking for technical support.

You may contact Sabasoft, Inc. by several means:

1.	Electronic mail - send a message to:

Sales:	sales@sabasoft.com

Technical Support:	support@sabasoft.com

Other administrative issues:	sabasoft@aol.com

2.	World Wide Web - point your browser to:

http://www.sabasoft.com  (primary)

http://members.aol.com/sabasoft  (backup)

3.	US Mail - write to:

Sabasoft, Inc.

924 Bayhill Avenue

Naperville, IL  60565   USA

4.	Telephone and FAX (Orders only):

+1 630-983-3573

Check with your e-mail provider to learn how to send e-mail to America On-Line.

Note 1:	AOL has an incoming mail limit from other networks (via the Internet) of 250,000 (≅ 250K) bytes.  If you are a subscriber to AOL, then you may attach a file which avoids this limitation.

Note 2:	Due to Internet restrictions, you cannot send binary data from other networks to AOL.  If you need to send binary data, then use XFERPRO!  (Remember the size limitation as stated in Note 1)  If you are a subscriber to AOL, then you may attach a file which avoids this limitation.


LICENSE AGREEMENT

YOU SHOULD READ CAREFULLY THE FOLLOWING TERMS AND CONDITIONS BEFORE USING OR DISTRIBUTING THIS SOFTWARE.  USING OR DISTRIBUTING THIS SOFTWARE INDICATES ACCEPTANCE OF THESE TERMS AND CONDITIONS.

COPYRIGHT

This software program (hereafter the "Software") and documentation (hereafter the "Documentation") is copyrighted and remains the property of Sabasoft, Inc.  All rights are reserved.

LICENSE

Sabasoft, Inc. hereby grants you ( hereafter the “Purchaser”) a limited, non-exclusive license to use the Software and accompanying Documentation contained in the shareware distribution package (hereafter called the "Shareware Package") or purchased distribution package (hereafter called the “Registered Package”) you received.  The Shareware Package consists of copies of the Software and Documentation received via an electronic transfer mechanism or an electronic storage medium including, but not limited to, diskette, hard disk, removable disk, tape or optical devices such as CD-ROM or WORM, which have not yet been purchased. The Registered Package consists of copies of the Software and Documentation received via an electronic transfer mechanism or an electronic storage medium including, but not limited to, diskette, hard disk, removable disk, tape or optical devices such as CD-ROM or WORM, which have been purchased.

You may use the Software or Documentation on one or more computers provided there is no chance that it will used simultaneously on more than one computer.  If you need to use the Software or Documentation on more than one computer simultaneously or on a network, the terms described in Network License apply.

You are not obtaining title to the Software or Documentation or any copyright rights.  You may not sublicense, lease, rent, sell, convey, translate, modify, decompile, incorporate into another product, convert to another programming language, reverse engineer or disassemble the Software or Documentation for any purpose.

NETWORK LICENSE

Multiple users on a network (e.g. a LAN) requiring access to the Software and Documentation must purchase a Network License. Two forms of Network Licenses are offered, a Site License and a Concurrent User License. With a Site License, any user who accesses the Software or Documentation requires a user license, regardless of the frequency of use. Once a Site License is purchased, Software and Documentation may be copied to all users who have been licensed.

The Concurrent User License allows the licensed number of users to simultaneously access the Software and Documentation. The Purchaser agrees that he will operate metering software which restricts the simultaneous number of users to the quantity purchased. The Software and Documentation must be installed on network servers under the control of metering software.

Both Site and Concurrent User Licenses allow installation of the Software and Documentation to any number of servers on any number of geographic sites, limited only by the quantity of licenses purchased.

TERM AND TRIAL PERIOD

You are permitted to use the Shareware Package for a trial period (hereafter the "Trial Period") of a maximum of forty-five (45) days after receipt of the Shareware Package.  After such time, if you continue to use the Shareware Package, you must purchase your copy from Sabasoft, Inc. Upon said purchase, the Shareware Package is converted to the Registered Package and all Registered Package license terms described herein then become applicable.  Failure to register after the Trial Period constitutes termination of this license. Upon registration, a password (hereafter called the "Password") may be provided to eliminate the registration reminder screen. The Registered Package may not be used without first having purchased the Software and Documentation.

This license is effective until terminated.  You may terminate it by destroying the Software, Documentation, and all copies thereof.  This license will also terminate if you fail to comply with any of the terms or conditions herein.  You agree, upon such termination, to destroy all Software, Documentation, and copies thereof.

LIMITED WARRANTY

THE SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  SABASOFT, INC. DISCLAIMS ALL WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED.

EXCLUSIVE REMEDY

YOUR EXCLUSIVE REMEDY AND SABASOFT, INC.'S ENTIRE LIABILITY ARISING FROM OR IN CONNECTIONS WITH THE SOFTWARE, DOCUMENTATION, AND/OR THIS LICENSE (INCLUDING WITHOUT LIMITATION FOR BREACH OF WARRANTY OR INFRINGEMENT) SHALL BE, AT SABASOFT, INC.'S OPTION, THE REPAIR OR REPLACEMENT OF THE SOFTWARE DISKETTES OR REFUND OF REGISTRATION FEES.

LIMITATIONS OF LIABILITY

IN NO EVENT SHALL SABASOFT, INC. OR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL  OR INCIDENTAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE SUCH SOFTWARE EVEN IF SABASOFT, INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.

Some states do not allow the exclusion of the limit of liability for consequential or incidental damages, so the above limitation may not apply to you.

BACKUP

You may make as many copies of the Software or Documentation as you need for backup purposes only.

DISTRIBUTION

You may distribute the Shareware Package to others via an electronic transfer mechanism or electronic storage media provided that no files are deleted from the Shareware Package or are modified in any way.  Files may be added to the Shareware Package expressly for the purpose of identifying the party distributing the Shareware Package.  You may also place the Shareware Package into any archive or compressed format for ease of distribution.

The Registered Package may not be distributed to others under any circumstances. If a Password was received as part of the purchase, that Password may not distributed to others under any circumstances.

GENERAL

This agreement shall be governed by the laws of the state of Illinois and shall inure to the benefit of Sabasoft, Inc. and any successors, administrators, heirs, and assigns.  Any action or proceeding brought by either party against the other arising out of or related to this agreement shall be brought only in a STATE or FEDERAL COURT of competent jurisdiction located in DuPage County, Illinois.  The parties hereby consent to in personam jurisdiction of said courts.


ORDER FORM

Note:	You may print this form by selecting File|Print Topic from the File menu on the help system.

Program:  XFERPRO 2.0.0

Name	______________________________________________________________

Company (if company purchase)	______________________________________________

Address 1	___________________________________________________________

Address 2	___________________________________________________________

City  ______________________________    State/Province	__________________

Zip/Postal Code  _________________    Country	___________________________

E-mail Address	_______________________________________________________

Choose one of the following (required):	Price Each	Quan	Net
XFERPRO 2.X Registration for New Customers	US$23.95	______	________
XFERPRO 2.X Upgrade from XFERPRO v1.X	US$13.95	______	________
Options - Add to Registration Price
Latest copy on disk and electronic manual (this option is required if a disk is needed - quantity limited to registration quantity only). Only 3.5” 1.44 MB disk is available.	US$3.00	______	________
Shipping and IL Sales Tax Options
Shipping and Handling per copy on disk:    USA: $1.00, Canada: $2.00, Europe: $3.50, Elsewhere: $5.00	see info at left	______	________
IL Sales Tax  (Illinois Residents only- 6.75% ´ total above)			________
Please Remit Total (US$ Funds drawn on USA bank/branch - see PAYMENT TERMS)	__________

Payment Method:	Purchase Order # ____________	Check # __________	Other __________

Credit Card Type:    [  ] Visa    [  ] Mastercard    [  ] AMEX

Card Number: _______________________________       Expiration Date:  _________

Signature (credit card only): ______________________________________________

Mail this form to:	Sabasoft, Inc.,  924 Bayhill Avenue,  	Naperville, IL  60565   USA
FAX this form to:	+1 (630) 983-3573


PAYMENT TERMS

Please remit payment to:

Sabasoft, Inc.

924 Bayhill Drive

Naperville, IL  60565   USA

Payment must be in US$ funds drawn on a US bank or US branch of a non-US bank.

Personal check, bank check, money orders and credit cards are accepted. The type of credit card accepted include Visa, Mastercard and American Express. Please note that checks returned with non-payment for any reason are subject to an additional (e.g. plus the original payment due) US$ 30.00 handling fee.

Cash is also accepted, however, Sabasoft Inc. will not accept responsibility of funds lost in the mail. If cash is sent, the purchaser agrees to accept all risks of loss.

Purchase orders are accepted only for orders over US$100.00. Pre-paid purchase orders are not subject to this limitation, regardless of the amount of purchase. Terms are Net 30 days from date of invoice.

Purchasers outside the USA are also responsible for any VAT, duties, or tariffs.

If you are ordering a large quantity of this program, please see Contacting Sabasoft for information regarding site license or concurrent user license agreements.

Please allow from 1 until 4 weeks for delivery.